# SceneComposer V3.1.0

# Requirements

#### Requirements

For new ESSL 3.0 shaders, SceneComposer 3.1.0 requires a video card capable of compiling GLSL3.0 shaders (ESSL 3.0 shaders are available in newly created solutions based on OpenGL ES 3.0 Base solution).

---

# New Bitmap Formats

#### New Bitmap Formats

SceneComposer can now import .EXR and .HDR files as RgbFloatingPointR11G11B10PixelFormat and RgbFloatingPoint9E5FPixelFormat respectively (Mantis 5504). New formats are also supported by .KTX extension. The following formats are now supported:

<div class="contents" id="bkmrk-etc2compressedrgbpix"><div class="contents"><div class="textblock">- Etc2CompressedRgbPixelFormat
- Etc2CompressedSrgbPixelFormat
- Etc2Alpha1CompressedRgbaPixelFormat
- Etc2Alpha1CompressedSrgbaPixelFormat
- Etc2EacCompressedRgbaPixelFormat
- Etc2EacCompressedSrgbaPixelFormat
- EacCompressedUnsignedRPixelFormat
- EacCompressedSignedRPixelFormat
- EacCompressedUnsignedRGPixelFormat
- EacCompressedSignedRGPixelFormat
- SrgbUnsignedBytePixelFormat
- SrgbaUnsignedBytePixelFormat
- RgbFloatingPointR11G11B10PixelFormat
- RgbFloatingPoint9E5FPixelFormat
- RgbaUnsignedIntRev10A2PixelFormat

</div></div></div>The following conversions are possible between the new formats:

<div class="contents" id="bkmrk-etc2compressedrgbpix-0"><div class="contents"><div class="textblock">- Etc2CompressedRgbPixelFormat -&gt; Etc2CompressedSrgbPixelFormat
- Etc2CompressedSrgbPixelFormat -&gt; Etc2CompressedRgbPixelFormat
- Etc2Alpha1CompressedRgbaPixelFormat -&gt; Etc2Alpha1CompressedSrgbaPixelFormat
- Etc2Alpha1CompressedSrgbaPixelFormat -&gt; Etc2Alpha1CompressedRgbaPixelFormat
- Etc2EacCompressedRgbaPixelFormat -&gt; Etc2EacCompressedSrgbaPixelFormat
- Etc2EacCompressedSrgbaPixelFormat -&gt; Etc2EacCompressedRgbaPixelFormat

</div></div></div>The following conversions are now possible for the classic formats:

<div class="contents" id="bkmrk-rgbunsignedbytepixel"><div class="contents"><div class="textblock">- RgbUnsignedBytePixelFormat -&gt; SrgbUnsignedBytePixelFormat
- RgbUnsignedBytePixelFormat -&gt; SrgbaUnsignedBytePixelFormat
- RgbaUnsignedBytePixelFormat -&gt; SrgbUnsignedBytePixelFormat
- RgbaUnsignedBytePixelFormat -&gt; SrgbaUnsignedBytePixelFormat
- SrgbUnsignedBytePixelFormat -&gt; RgbUnsignedBytePixelFormat
- SrgbUnsignedBytePixelFormat -&gt; RgbaUnsignedBytePixelFormat
- SrgbaUnsignedBytePixelFormat -&gt; RgbUnsignedBytePixelFormat
- SrgbaUnsignedBytePixelFormat -&gt; RgbaUnsignedBytePixelFormat

</div></div></div>**See also:**

<div class="contents" id="bkmrk-color-depth-configur"><div class="textblock">- <span style="color: rgb(230, 126, 35);">[Color Depth Configuration](https://doc316en.candera.eu/link/88#bkmrk-page-title)</span> and
- <span style="color: rgb(230, 126, 35);">[Bitmap Converter](https://doc316en.candera.eu/link/170#bkmrk-page-title)</span> in SceneComposer User Manual
- <span style="color: rgb(230, 126, 35);">[Bitmap Profile](https://doc316en.candera.eu/link/56#bkmrk-page-title)</span> in SceneComposer User Manual

</div></div>---

# SceneComposer Usability Improvements

#### Default Solutions

SceneComposer provides default solutions for both OpenGL ES 2.0 (for shading language 1.1) and OpenGL ES 3.0 (for shading language 3.0).

<div class="contents" id="bkmrk-"><div class="contents"><div class="textblock">---

</div></div></div>#### Multiple Clone Operation

It is possible to clone a node multiple times by using the "Multiple Clone" option. The Clone View was improved by adding a Multiple Clone tab that allows to specify the number of the clones (Mantis 4091).

<div class="contents" id="bkmrk-see-also%3A-clone%2C-del"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Clone, Delete, Rename Scene Nodes](https://doc316en.candera.eu/link/118#bkmrk-clone%2C-delete%2C-renam)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Planar Shadow Plane Alignment

A new property is available for planar shadows: AlignmentNode. This property exposes Candera's automatic alignment behavior. When the alignment node is set, [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") automatically aligns the shadow plane to the alignment node (which usually is the shadow receiver) (Mantis 5406).

<div class="contents" id="bkmrk-see-also%3A-planar-sha"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Planar Shadow](https://doc316en.candera.eu/link/130#bkmrk-planar-shadow-0)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Instanceable Shaders

New shaders were integrated into SceneComposer. They have "Inst" in their names and are special shaders used for instanced draw. When using an instance-able shader, uniforms that are declared as arrays in the shader, will not be exposed as an array in the SceneComposer view. Instead it has to be exposed as a single value.

When an instanceable shader is selected, the property grid will display the Max Instance Count value - represents the maximum number of element that the shader can render in a batch render (Mantis 5487).

<div class="contents" id="bkmrk-see-also%3A-instanceab"><div class="contents"><div class="textblock"><dl class="see"><dt>**See also:**</dt><dd>- <span style="color: rgb(230, 126, 35);">[Instanceable Shaders](https://doc316en.candera.eu/link/146#bkmrk-instanceable-shaders)</span> in SceneComposer User Manual

</dd></dl>---

</div></div></div>#### Blend Operation Minimum and Maximum

Two new blend operations were introduced: Minimum and Maximum. It is possible to export Minimum and Maximum enumerators for the property RenderMode::BlendOperation (Mantis 5407).

<div class="contents" id="bkmrk--0"><div class="contents"><div class="textblock">---

</div></div></div>#### Animating SnapToDevicePixel Property

SnapToDevicePixel property of 2D nodes can now be animated (Mantis 5689).

<div class="contents" id="bkmrk--1"><div class="contents"><div class="textblock">---

</div></div></div>#### Tree Virtualization

Tree virtualization is now enabled on SceneComposer UI (several controls affected). Panel loading speed improved (Mantis 5666).

<div class="contents" id="bkmrk--2"><div class="contents"><div class="textblock">---

</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 (Mantis 5488).

<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

</dd></dl>---

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

<div class="contents" id="bkmrk-bitmapfont-glyph-siz"><div class="textblock">- BitmapFont glyph size per Asset. CFF has been extended and a new information is available in the header of the asset files: maximum size (bytes) of bitmap font glyphs. This information is intended to be accessible to [Candera](http://dev.doc.cgistudio.at/APILINK/namespace_candera.html "[DataBinding_RefTypeSample]") asset loader and applications (Mantis 5517).
- Text Search in Shader Editor. Text search in shader editor was improved (Mantis 5500).
- Dragged Images on Billboards. Images can now also be dragged directly on billboards (Mantis 5623).
- Trigger Update. When a value of a property of a widget is changed, the Update method on the widget will be called immediately. This applies for composites too (Mantis 5668).
- Info Icon. A information icon for the default asset profile was added in order to inform the user that the changes (CustomID) will not be saved. (Mantis 5675).
- Bitmap Profile. "Bitmap Profiles" view was renamed into "Bitmap Profile Palette" (Mantis 5717).
- Additional Info. Additional information is displayed when adding a new TextStyle - "Base Style" and "Default Font" (Mantis 5777).
- Fixed angle rotation. The button is also displayed in "Animation Design" toolbar perspective. In "Scene Design" is always enable and the button position was changed near the "Rotation button" while in "Animation Design" is enabled only if an "Animated Property" is selected (Mantis 5625).
- In the SCHost Information panel new parameters were added (CGIDEVICE\_OPENGLES\_30 and CGIDEVICE\_OPENGLES\_20) in order to show which OpenGLES version (2.0 or 3.0) is used.

</div></div>---

# SceneComposer Known Issues

Due to enabling tree virtualization, some problems might appear:

<div class="contents" id="bkmrk-vertical-scroll-bar-"><div class="textblock">- Vertical scroll bar changes its size randomly and doesn't remember sizes of elements after viewing the whole tree. Scrolling with mouse is hard.
- After some scrolling up and down, the application might freeze, especially in hierarchies with many levels.

</div></div>---