> For the complete documentation index, see [llms.txt](https://scenegroup.gitbook.io/cavalry/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scenegroup.gitbook.io/cavalry/user-interface/menus/window-menu/render-manager/dynamic-rendering.md).

# Dynamic Rendering

Generate variations of your compositions at render time.

**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](/cavalry/user-interface/menus/window-menu/render-manager.md).

In the simple example below, we're connecting the **Dynamic Index** to the **Array Index** of a [Color Array](/cavalry/nodes/utilities/color-array.md) 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](/cavalry/nodes/utilities/value-array.md) which is then connected to the **Sides** attribute on a [Basic Shape](/cavalry/nodes/shapes/basic-shape.md) (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](/cavalry/nodes/utilities/spreadsheet.md) node containing team names and hex values to drive a [Text Shape](broken://pages/-LT4oEi7DDN-P5qLtwQk) and the coloured background Shapes. The logos are set up with two **SVG Assets** added to an [Asset Array](/cavalry/nodes/utilities/asset-array.md) and then connected to an [SVG Shape](/cavalry/nodes/shapes/svg-shape.md).

![](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.
* ...
