# Dynamic Rendering

**Dynamic Rendering** can be used to generate different values at render time and so generate many variations of the same single Composition.

Options for Dynamic Rendering can be found in the [Render Manager](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/render-manager).

In the simple example below, we're connecting the **Dynamic Index** to the **Array Index** of a [Color Array](https://scenegroup.gitbook.io/cavalry/nodes/utilities/color-array) and then previewing the results by using the **Dynamic Index Offset**. A value of 0 reads the first index (green) on the Color Array, a value of 1 gives us the second (yellow) and 2 gives us the third (blue).

![](https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-LXe0uU_4OaV54jHjEU_%2F-LXe3LJZ12WFYmcWGW9s%2FdynamicRender.gif?alt=media\&token=b132c9ca-d2f2-4c31-ae32-01c78aabb2aa)

The **Dynamic Index** has also been connected to the **Array Index** on a [Value Array](https://scenegroup.gitbook.io/cavalry/nodes/utilities/value-array) which is then connected to the **Sides** attribute on a [Basic Shape](https://scenegroup.gitbook.io/cavalry/nodes/shapes/basic-shape) (Polygon).

To output all three variations we'd set the **Number of Renders** under the **Dynamic** tab to **3** and then hit Render. During rendering, Cavalry will iterate through Dynamic Index 0, 1 and 2 and output separate files for each one.

In the following example we've used exactly the same technique but via a [Spreadsheet](https://scenegroup.gitbook.io/cavalry/nodes/utilities/spreadsheet) node containing team names and hex values to drive a [Text Shape](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/render-manager/broken-reference) and the coloured background Shapes. The logos are set up with two **SVG Assets** added to an [Asset Array](https://scenegroup.gitbook.io/cavalry/nodes/utilities/asset-array) and then connected to an [SVG Shape](https://scenegroup.gitbook.io/cavalry/nodes/shapes/svg-shape).

![](https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-LXe8KbZPNfgKHPRA_D_%2F-LXeBd0JMdcsQeHrghuL%2Fteam.0.gif?alt=media\&token=8a3b1143-274b-4184-a046-69060173a13c)

![](https://1676825895-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LT2-S1m8aSPAI_Gg3Q1%2F-LXe8KbZPNfgKHPRA_D_%2F-LXeBd0LiDdeHRcWAPa1%2Fteam.1.gif?alt=media\&token=29328d87-6f89-4655-8d3b-b32a8338c5d3)

Imagine what a time saver this could be for all 32 NFL teams when your client wants to change the height to 40px!

* Create variations on some abstract procedural artwork/animations.
* Set up versioning for your endboards.
* A/B testing.
* Output personalised advertising.
* ...
