Skip To Content

CGA changelog

 

CityEngine 2019.0 | CGAC 1.12

New operations

New functions

New attributes

  • material attributes:
    • material.emissive.{r|g|b}, material.metallic, material.roughness
    • material.{emissive|occlusion|roughness|metallic}map and corresponding .{su|sv|tu|tv|rw}
    • material.opacitymap.mode

Changes to existing features

Bugfixes

  • convexify operation: Fixed incorrect results on shapes with holes.
  • softenNormals, setNormals(auto) operations: Compute correct soft normals for vertices bordering a hole. This bug only appeared when the threshold angle was set to a value less than 180 degrees.
  • comp(v), comp(e) operations: Compute correct orientation of the scope z axis for vertex/edge components bordering a hole.
  • comp(v), comp(e), alignScopeToGeometry operations: Fixed resulting scopes when applied on edges or vertices.
  • roofHip, roofGable operations: Corrected the resulting order and first edge of roof faces if the initial shape contained collinear vertices.
  • roofGable operation:
    • Fixed a crash in subsequent operations or functions if the initial shape contained near-identical vertices.
    • Corrected trim plane generation if the initial shape contained several faces.
  • cleanupGeometry operation: Fixed a crash in vertex merge. This happened when hole vertices were within tolerance to vertices that belonged to both another hole and an encircling face.
  • Internal geometry cleanup (CityEngine only): Preserve first edge of holes.
  • Fixed a bug where normal and bump maps were applied in the inverse normal direction (CityEngine rendering only).
  • setback operation: Enhanced result at concave vertices.
  • CGA Compiler:

 

CityEngine 2018.1 | CGAC 1.11

Changes to existing features

  • setback operation: The first edge of setback faces is set at the outline of the initial face. For remainder faces the first edge is the closest to the first edge of the initial shape. This fix potentially changes your existing models.
  • alignScopeToGeometry operation: Fixed a numerical instability when world.lowest is used. In case multiple faces or edges are candidates for the lowest component, the one with the lowest index is chosen. This fix potentially changes your existing models.
  • innerRectangle operation: Fixed a numerical instability. In case several rectangles are candidates for the largest, the one with the lowest distance to the shape's centroid is chosen. This fix potentially changes your existing models.

Bugfixes

  • setback operation:
    • Avoid creation of slivers, especially at rounded corners with short edges.
    • Fixed a possible crash for invalid uv-sets.

 

CityEngine 2018.0 | CGAC 1.10

Changed fundamental behavior

  • Random evaluation of attr/const functions:

    The initialization of the random number generator was affected by the mutual dependency of attr/const functions. This could lead to the undesired behaviour that an attribute A which is initialized using probability functions (rand, p), stochastic conditions or related utility functions

could change its random value

  • if another attribute B was added that calls A or
  • if a call to another attribute B was added to A where B is also randomly evaluated.

This fix potentially changes your existing models even with the same seedian on the initial shape.

New operations

New functions

Changes to existing features

  • acos, asin and sqrt functions: A warning is issued if the parameter is outside of the valid range.

Bugfixes

  • CGA Compiler
    • The compiler now checks for matching return types of attributes and functions with the same name across styles. Prior, inconsistent return types resulted in a crash when switching styles or displaying all styles in the file preview.
    • Matching parameter types for rules and functions across styles are now also checked for unused definitions.
    • Compiler now checks if a definition type (attribute, const, function or rule) is consistent across styles.
    • Fixed wrong line reference of incompatible version warnings. This happened for rules that imported other rule files.
  • comp operation
    • Re-evaluate random generator for each group (g) and material (m) component. Before this fix rand returned the same value for each component.
    • Group components (g): Fixed wrong per-face materials for meshes with holes.
  • trim, i operation: Trim planes now respect holes in assets.
  • trim, i, split operation: Trim planes and splits now respect per-face materials.
  • split operation: Fixed missing filling face when faces with near zero area were present at the split position.