Advanced Search
Search Results
497 total results found
Multi Frequency Rendering
Description This chapter briefly describes the Multi Frequency Rendering technique supported by Candera. It allows to split rendering of complex parts to several frames, to achieve an overall higher frame rate. Introduction Multi Frequency Rendering Introducti...
VRAM Upload Culling
Description This chapter briefly describes how to use scope masks for uploading only dedicated content to VRAM. VRAM Upload using Scope Masks content to VRAM in succeeding steps. VRAM Upload Policies Refer to Startup and Asset Management for how to load ...
Occlusion Queries and Occlusion Culling
Description In scenes containing nodes with lots of vertices or expensive fragment shaders, the rendering speed can be drastically improved by avoiding to render occluded objects. For this purpose Candera offers the Occlusion Queries and Occlusion Culling, wh...
Bitmap Compression
Introduction Bitmap compression aims to improve the application performance by reducing the bandwidth consumption and asset size and also by speeding up the bitmaps load and upload. Candera supports following formats for compressing bitmaps, that are describ...
Drawcall Batching/Geometry Instancing
Description This chapter describes how Candera's Drawcall Batching utilizes Geometry Instancing and how to set it up. Introduction OpenGL ES3.0 introduced a feature called Geometry Instancing. With this feature, a vertex buffer can be drawn several times us...
Courier Specific
MFR - Multi-Frequency Rendering in Courier Multi-Frequency rendering in Courier can be used to create custom sort criteria for the render jobs. By default, the Courier::RenderJobStrategy sorts them like this: offscreen render jobs before Display re...
Surface Effects and Combinations
Draw Objects Sorted by Texture Spherical Environment mapping for static surface reflections is supported by Candera. The texture coordinate of the Spheremap will be calculated dynamically in the Shader depending on the position of the camera. Furthermore the ...
Use Specialized Shaders
Texture Cache Use Shaders that are customized to fit exactly your special situation. Reference shaders are full featured and functional code examples to demonstrate the interoperability with Candera. They are not optimized for performance. A great performanc...
Carefully Design your Lighting
Use Texture Compression Per-vertex lighting is less expensive than per-fragment lighting. Use as few lighting sources as possible (usually one light source is enough). Use simplified, tailored lighting calculations. Use light ranges to reduce the ill...
Optimize Shader Program Coding
Avoid if-else Constructs in the Shader The use of if-else statements for non-constant variables (attributes, varyings and local variables) should generally be minimized or avoided in shaders, as they might lead to synchronization penalties due to different pr...
Prerequisites
CMake In order to build CGI-Studio Applications, the Meta build system CMake needs to be installed with at least version 3.19.0 CMake is able to create the build system for the development IDE of choice, e.g.: Visual Studio (multiple versions) GC...
Build Process
Description The following chapters provide some information about build process aspects. Using CMake for Building Courier resp. Courier Applications General Setup Courier including it's sample applications provides a complete cmake environment for targeti...
Platform Configuration
Description Some platform specific topics are described here. Platform Definition A Courier platform definition describes the complete setup for a dedicated platform. This comprises the implementation of the various platform interfaces defined in Courier::...
Introduction
CGI Studio provides an integrated development environment based on Visual Studio for widget and application layer development, located at: <cgi-studio-root>/cgi_studio_player In the cgi_studio_player directory, 4 different projects are define...
Building CGI Panel
The CGI Panel is a C# project which provides a graphical interface which supports the control of scenes and animations by managing the flow of the Player. Building CGI Panel Usually there is no need to build the CGI Panel on your own, since the executable i...
Building Player and Widgets
Building Player and Widgets The Player executable used by CGI Panel collects following components: Candera Engine including Candera Device Platform Player as a demo application for loading assets and displaying / manipulating content: <cgi_studio_ro...
Activating Additional Behaviors for Player
To include the behaviors part of CGI Studio in the Player, simple enable the CMake option CGIAPP_ENABLE_ADDITIONAL_BEHAVIORS before generating the CGI Application solution with CMake. The CMake option CGIAPP_ADDITIONAL_BEHAVIOR_PATH is already preconfigured ...
Building SCHost for SceneComposer
To make the same set of widgets available for SceneComposer, as they are for the Player, a new SCHost.dll needs to be created and deployed to SceneComposer. Enable COURIER_ADD_SCHOST_PROJECT in the CMake project in order to add the SCHost project...