# SceneComposer V3.1.1

# Candera Related Features

#### Display Renderer Statistics

The Renderer Statistics structure keeps track of per pass data that is relevant to the User. This includes statistics about the metrics of:

<div class="contents" id="bkmrk-draw-calls-uniform-c"><div class="contents"><div class="textblock">- Draw Calls
- Uniform Calls
- Vertices
- Indices
- Batched Draw Calls
- Occlusion Queries (available on OpenGL ES 3.0 API only)
- Visible Draw Calls (available on OpenGL ES 3.0 API only)
- Invisible Draw Calls (available on OpenGL ES 3.0 API only)

</div></div></div>This information is presented to the user in a dedicated panel which can be made visible through the "Render Statistic" menu item from the "View" menu. The panel will be displayed by default in the top right region of the SceneComposer user interface. This panel can be moved in any other area, also (Mantis 6037).

<div class="contents" id="bkmrk-see-also%3A-display-re"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Display Renderer Statistics](https://doc316en.candera.eu/link/7#bkmrk-page-title)</span> in SceneComposer User Manual
- [Candera::Renderer](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_renderer.html "The class Renderer represents the unique Candera render interface to the application. Each render call an base of Candera shall be triggered via the Renderer interface.")

</dd></dl>---

</div></div></div>#### Candera Feature Geometry Instancing

With Geometry Instancing Meshes having the same appearance can be rendered with one draw call.

<div class="contents" id="bkmrk-"><div class="contents"><div class="textblock"><dl class="note"></dl>  
</div></div></div><p class="callout info">This feature has no visual effect, but it can be observed through Render Statistics.</p>

**See also:**

<div class="contents" id="bkmrk-display-renderer-sta-0"><div class="contents"><div class="textblock">- <span style="color: rgb(230, 126, 35);">[Display Renderer Statistics](https://doc316en.candera.eu/link/7#bkmrk-page-title)</span> in SceneComposer User Manual
- <span style="color: rgb(230, 126, 35);">[Drawcall Batching by implicit Geometry Instancing](https://doc316en.candera.eu/link/919#bkmrk-drawcall-batching-by)</span> in SceneComposer User Manual

---

</div></div></div>#### Support for BatchOrderCriterion

A new sorting criterion was introduced for render order bins: BatchOrderCriterion (Mantis 6030). BatchOrderCriterion produces a render order containing series of nodes that can then be batched by the Renderer to maximize usage of Geometry Instancing. BatchOrderCriterion has 2 modes of operation:

<div class="contents" id="bkmrk-sortbyshaderandrende"><div class="contents"><div class="textblock">- SortbyShaderandRenderMode
- SortbyAppearance

<dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Configure a New Render Order Bin](https://doc316en.candera.eu/link/132#bkmrk-configure-a-new-rend)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Occlusion Culling

A new camera render strategy was introduced: OcclusionCulling. When OcclusionCulling render strategy is selected, a new property becomes available in property grid: QueryType.

Default value of QueryType (in case of occlusion culling render strategy) was changed to AnySamplePassedConservative. "Occlusion Culling" Render Strategy option is no longer available on platforms with OpenGL ES API different than 3.0 (Mantis 6059).

<div class="contents" id="bkmrk-see-also%3A-occlusion-"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Occlusion Culling](https://doc316en.candera.eu/link/130#bkmrk-%C2%A0occlusion-culling-0)</span> in SceneComposer User Manual
- <span style="color: rgb(230, 126, 35);">[Candera Engine 3D](https://doc316en.candera.eu/link/919#bkmrk-page-title)</span> in SceneComposer User Manual
- [Candera::OcclusionCullingCameraRenderStrategy](http://dev.doc.cgistudio.at/APILINK/class_candera_1_1_occlusion_culling_camera_render_strategy.html "The class OcclusionCullingCameraRenderStrategy is an implementation of the abstract class CameraRende...")

</dd></dl>---

</div></div></div>#### Integrate Candera TextNode

For this version we provide a basic implementation: TextNode will be integrated as a new node type, and not as a replacement (full migrations - solution conversions - will not be possible).

**Manipulation &amp; rendering**

SceneComposer will provide a new 2D node type: TextNode2D. Properties of the new objects:

<div class="contents" id="bkmrk-%22text%22---specifies-t"><div class="contents"><div class="textblock">- "Text" - specifies the text to be rendered
- "Style" - specifies the style to be used for rendering
- "Renderer" - specifies the renderer used by the text node
- "Text Laying Out Enabled" - enable additional laying out properties

</div></div></div>The TextNode2D will be associated with a BitmapBrushColorBlend effect. The TextNode element in the "Toolbox" panel will create a TextNode2D object having a BitmapBrushColorBlend effect when it will be dragged into the "Scene Editor". Relationship with Translator plugin: the Text property can be edited by Translator plugin.

**Photoshop export**

Photoshop exporter will export the text layers as TextNode2D objects. TextNode2D objects having BitmapBrushColorBlend effects will be exported instead of RenderNode2D having TextBrushBlend effects. Instead of setting BoundingRectangle property, Size (laying out property) shall be set on TextNode.

Point text is converted to paragraph text upon export. This ensures the bounding rectangle is exported properly and the text has the same position as in Photoshop with pixel accuracy. Alignment support has also been discussed with [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") team, the text will be aligned properly regardless of "Text Laying Out" being enabled.

**Solution migration (conversion)**

SceneComposer does not offer a conversion from RenderNode2D to TextNode2D.

---

# SceneComposer Usability Improvements

#### Adapt SceneComposer to Extended GenericShaderParamSetter

IsPointSpriteActivationEnabled and IsMorphingMeshActivationEnabled flags were added in UniformSetter. When a uniform setter is dragged over a pointsprite or morphing mesh, the corresponding flag will be activated accordingly. Also, the new default solutions contain specialized uniform setters for morphing meshes and pointsprites which are assigned by default.

The uniforms setters on which auto activation is not enabled, from older solutions, must be updated by the user.

Color property of PointSprite object was removed. Instead, a material must be assigned to the PointSprite and the diffuse component will specify the desired color (Mantis 5896).

<div class="contents" id="bkmrk-see-also%3A-shader-par"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Shader Parameters](https://doc316en.candera.eu/link/146#bkmrk-shader-parameters%C2%A0)</span> in SceneComposer User Manual
- <span style="color: rgb(230, 126, 35);">[Generic ShaderParamSetter](https://doc316en.candera.eu/link/146#bkmrk-generic-shaderparams)</span> in SceneComposer User Manual
- <span style="color: rgb(230, 126, 35);">[Default Shader Configuration](https://doc316en.candera.eu/link/146#bkmrk-default-shader-confi)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Vertex Buffer 24 bit Index Export

VertexBuffers can now be converted to indexed buffers of various index sizes (8bit, 16bit or 32 bit index). BufferType configuration property (which had 2 options: ArrayBuffer and IndexBuffer) was removed. "Is Indexed" property was added. If enabled, the vertex buffer will be converted to an index array buffer, by selecting the optimal index size. Therefore, depending on vertex count, an 8bit, 16bit or 32bit index buffer will be created. BufferType property in AssetData section will specify the effective buffer type (Mantis 5408).

<div class="contents" id="bkmrk-see-also%3A-vertex-buf"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Vertex Buffer Editor](https://doc316en.candera.eu/link/136#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Context Menu inside "Generate Asset" View

Inside "Generate Asset Library" the options "Select, Expand All and Collapse All" are available for every item right clicked inside "Scene Tree" side of the view (Mantis 5958).

<div class="contents" id="bkmrk-see-also%3A-generate-a"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Generate Asset Library](https://doc316en.candera.eu/link/87#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Browsing through Tabs

A button was added at the end of the tab row. By using it, the user has the possibility to browse through all the tabs from this panel, even if they are not visible (Mantis 5320).

<div class="contents" id="bkmrk-see-also%3A-scenecompo"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- SceneComposer GUI in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Device Capability

"3D Render API" device capability info was added in "SCHost Information" dialog (Mantis 6215).

<div class="contents" id="bkmrk-see-also%3A-schost-inf"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[SCHost Information](https://doc316en.candera.eu/link/34#bkmrk-page-title)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Minor Improvements

<div class="contents" id="bkmrk-adapt-bitmap-profile"><div class="textblock">- **Adapt Bitmap Profile** The name of RgbFloatingPoint9E5FPixelFormat was changed to RgbFloatingPoint9E5PixelFormat (Mantis 6057).
- **Default Size.** The deafult size of the text in TextNode is 14px instead of 0px as it was until now (Mantis 5961).
- **Drag-drop Multiselected Items.** The user is able to drag-drop multiselected elements from different folders into another one (Mantis 5611).
- **Switched Properties.** From now on the "Style" property is displayed under the "Text" property, in the Properties panel of a "TextNode" (Mantis 6144).
- **Default New Solution.** When a new solution is created on iMX6 platform, the default value for "Solution Template" should be "Base Solution OpenGLES 3.0" (Mantis 6106).
- **Deactivated Button.** The "Generate" button, from "Generate Asset Library" view, will be disabled if the path for the "Asset File" is invalid (Mantis 5904).

</div></div>---

# SceneComposer Known Issues

<div class="contents" id="bkmrk-render-statistics-ar"><div class="textblock">- Render Statistics are not reset when opening a new solution if there is no display or if nothing is rendered on it.

</div></div>---