renoir::CommonRenderingLibraryParams
Common initialization parameters of the Rendering library.
#include <CoherentRenderingLibrary.h>
Inherited by cohtml::LibraryParams, renoir::RenderingLibraryParams
Public Functions
Section titled “Public Functions”| Name | |
|---|---|
| CommonRenderingLibraryParams() |
Public Attributes
Section titled “Public Attributes”| Name | |
|---|---|
| bool | AllowMultipleRenderingThreads Allows usage of Rendering Library calls from different threads. If not enabled, using rendering methods from different threads produces an error message. |
| bool | SetRenderingResourcesDebugNames Will set debug names on rendering resources. The actual use of these names depends on the rendering backend implementation. Use this for debugging purposes only as it incurs a slight performance penalty. |
| bool | AllowMultithreadedCommandProcessing Will enable multi thread awarenes of the library which will result in more mutex locks/unlocks. |
| float | PathTessellationThresholdRatio Sets the threshold ratio, which is used for determining whether to reuse old tessellated paths or tessellate new ones when changing the display size of paths (e.g. SVGs). If the threshold ratio is lower, then more paths will be tessellated, which will lead to a higher path visual quality, but also to increased memory usage. On the other hand, setting the threshold ratio to a higher value will result in reuse of more tessellated paths, which may cause lower path visual quality, because old tessellated paths are upscaled or downscaled in order to be reused. However, higher threshold value will lead to a decrease in the memory usage. |
| unsigned | TextAtlasWidth Sets the width of the text atlas in px. |
| unsigned | TextAtlasHeight Sets the height of the text atlas in px. |
| bool | PreferSingleColorGlyphAtlas Use a single RGBA8 color atlas for raster glyphs and emojis. When disabled, a single channel atlas will be used for raster glyphs and a separate RGBA8 will be used for emojis. |
| bool | PreferGPUTessellator Use the GPU for vector graphics tessellation. Resulting graphics are stored in intermediate texture atlases. |
| unsigned | MinPathAtlasSize Initial size of the atlas. The atlas grows with a factor of two if a shape does not fit. |
| unsigned | MaxPathAtlasSize Maximum size of the atlas. |
| void * | DeveloperOptions Reserved property for internal usage. Do not use it. |
Public Functions Documentation
Section titled “Public Functions Documentation”function CommonRenderingLibraryParams
Section titled “function CommonRenderingLibraryParams”inline CommonRenderingLibraryParams()Public Attributes Documentation
Section titled “Public Attributes Documentation”variable AllowMultipleRenderingThreads
Section titled “variable AllowMultipleRenderingThreads”bool AllowMultipleRenderingThreads;Allows usage of Rendering Library calls from different threads. If not enabled, using rendering methods from different threads produces an error message.
Note:
- This option is useful when, for example, the client rendering backend records commands on different threads, that are later executed on a dedicated rendering thread.
- In the general use case where the rendering methods are called directly on the client’s rendering thread this should be set to false, to warn when incorrect usage is detected.
variable SetRenderingResourcesDebugNames
Section titled “variable SetRenderingResourcesDebugNames”bool SetRenderingResourcesDebugNames;Will set debug names on rendering resources. The actual use of these names depends on the rendering backend implementation. Use this for debugging purposes only as it incurs a slight performance penalty.
variable AllowMultithreadedCommandProcessing
Section titled “variable AllowMultithreadedCommandProcessing”bool AllowMultithreadedCommandProcessing;Will enable multi thread awarenes of the library which will result in more mutex locks/unlocks.
variable PathTessellationThresholdRatio
Section titled “variable PathTessellationThresholdRatio”float PathTessellationThresholdRatio;Sets the threshold ratio, which is used for determining whether to reuse old tessellated paths or tessellate new ones when changing the display size of paths (e.g. SVGs). If the threshold ratio is lower, then more paths will be tessellated, which will lead to a higher path visual quality, but also to increased memory usage. On the other hand, setting the threshold ratio to a higher value will result in reuse of more tessellated paths, which may cause lower path visual quality, because old tessellated paths are upscaled or downscaled in order to be reused. However, higher threshold value will lead to a decrease in the memory usage.
Note:
- The default threshold ratio is 2.5, which means that if we have previously tessellated a path with size X, then we will reuse it if the size of the new one is 250% larger or smaller. This is done by upscaling or downscaling the old tessellated path.
- Threshold ratio less than or equal to 1 will cause tessellation on every size change.
variable TextAtlasWidth
Section titled “variable TextAtlasWidth”unsigned TextAtlasWidth;Sets the width of the text atlas in px.
Note:
- The default value is 1024.
- The value must be in the range [1024;8192]. If the given value is not power of two we will round it up.
variable TextAtlasHeight
Section titled “variable TextAtlasHeight”unsigned TextAtlasHeight;Sets the height of the text atlas in px.
Note:
- The default value is 1024.
- The value must be in the range [1024;8192]. If the given value is not power of two we will round it up.
variable PreferSingleColorGlyphAtlas
Section titled “variable PreferSingleColorGlyphAtlas”bool PreferSingleColorGlyphAtlas;Use a single RGBA8 color atlas for raster glyphs and emojis. When disabled, a single channel atlas will be used for raster glyphs and a separate RGBA8 will be used for emojis.
Note: Disabled by default.
variable PreferGPUTessellator
Section titled “variable PreferGPUTessellator”bool PreferGPUTessellator;Use the GPU for vector graphics tessellation. Resulting graphics are stored in intermediate texture atlases.
Note:
- Enabled by default.
- See MinPathAtlasSize and MaxPathAtlasSize
variable MinPathAtlasSize
Section titled “variable MinPathAtlasSize”unsigned MinPathAtlasSize;Initial size of the atlas. The atlas grows with a factor of two if a shape does not fit.
Note:
- Only relevant if PreferGPUTessellator is true
- This might help with fragmentation. Lowering this does not reduce memory consumption
- If the given value is not a power of two we will round it up.
variable MaxPathAtlasSize
Section titled “variable MaxPathAtlasSize”unsigned MaxPathAtlasSize;Maximum size of the atlas.
Note:
- Only relevant if PreferGPUTessellator is true
- Shapes that do not fit are tessellated on the CPU.
- If the given value is not a power of two we will round it up.
variable DeveloperOptions
Section titled “variable DeveloperOptions”void * DeveloperOptions;Reserved property for internal usage. Do not use it.
© 2026 Coherent Labs. All rights reserved.