The Procedural Runtime preferences page controls options with respect to rule derivation (model generation), display, rendering, occlusion, and miscellaneous engine arguments.
If Write compiler output to console window is enabled, the CGA compiler's activities are logged to a console.
The Generate section contains the following settings:
- The maximum array size limits the number of elements in arrays. This avoids an accidental high memory consumption.
- The maximum derivation depth controls the maximum recursion level of rules (createShape), or the depth of the shape tree (model hierarchy), respectively.
- The maximum derivation width controls the breadth of the shape tree (model hierarchy).
- The maximum function call depth controls the maximum recursion level of function calls. This includes attributes.
- The disk cache size controls how much disk space is used to cache decoded textures between starts of CityEngine. Using the disk cache may reduce memory consumption during runtime because textures do not need to be decoded (and kept in memory) to find their metadata (such as aspect ratio).
- Use Number of parallel generate threads to set the number of threads to be used to execute one generate command.
- The extent of the trim planes can be controlled with trim plane size. Note that this is for computation only; the rendering size of the trim planes can be controlled in the display settings below.
Occlusion and Context
The Occlusion and Context section contains the following settings:
- Disable inter queries and Disable intra queries—Disabling intra-shape tree or inter-shape tree (neighbors) queries can be useful for rule debugging.
- Neighborhood distance for inter-occlusion queries—All shapes within this distance of the bounding box of a shape are considered neighbors (occluders). This means their models must be derived for inter-occlusion queries. This property is stored per scene.
- Neighborhood distance for inter-context queries—All shapes within this distance of the bounding box of a shape are considered for labeled context queries. This means their models must be derived for inter-context queries. If set to 0, the distance is ignored and all scene shapes are considered. This property is stored per scene.
- Maximum distance for occlusion—Due to floating point limitations, occlusion queries use this threshold value.
The Display Options section contains the following settings:
- Edges size—Defines the display size (thickness) of edges.
- Vertices size—Defines the display size (diameter) of vertices.
- Pivot size—Defines the display size of pivots.
- Pivot line with—Defines the display line width of pivots.
- Scope line with—Defines the display line width of scopes.
- Trim plane size—Defines the display size of trim planes.
The Rendering section affects only generated models and contains the following settings:
- Disable GL Mipmaps—Some hardware has problems using mipmaps and texture compression together. If this is the case on your system, you can disable GL mipmaps.
- Disable GL Texture Compression—By default, textures are compressed for rendering. This significantly reduces the memory consumption (typically ratios between 1:6 and 1:4 are achieved, depending on the texture format) and speed up rendering. However, the texture quality is slightly reduced.
- Max texture width/height—Textures that are wider/higher than this value are rescaled to this value to save memory.
- Matching profile—Using this pop-up, you can control render performance versus memory consumption. For most use cases, Balanced is a good choice.
- Force OpenGL Double Buffering—On Windows, double buffering is unavailable because the operating system already takes care of smooth rendering. Use this option to force double buffering.
Timeout for license server connection in milliseconds.
Set the Procedural runtime log level value. If set to a level less than 6, Procedural Runtime logs errors, warnings and so on to a console.