iteratedTransform

iteratedTransform

Performs a transform multiple times, optionally reflecting across axes in between the steps.

This can be used to create KIFS fractals (kaleidoscopic iterated function systems).

Parameters

  • Enable:
  • Iterations:
  • Reflect Mode:
    • None:
    • XYZ:
    • X:
    • Y:
    • Z:
    • XY:
    • YZ:
    • ZX:
  • Enable Translate:
  • Enable Rotate:
  • Enable Scale:
  • Enable Pivot:
  • Translate:
  • Rotate XYZ:
  • Scale:
  • Uniform Scale:
  • Pivot:
  • Transform Order:
    • Scale Rotate Translate:
    • Scale Translate Rotate:
    • Rotate Scale Translate:
    • Rotate Translate Scale:
    • Translate Scale Rotate:
    • Translate Rotate Scale:
  • Rotate Order:
    • Rx Ry Rz:
    • Rx Rz Ry:
    • Ry Rx Rz:
    • Ry Rz Rx:
    • Rz Rx Ry:
    • Rz Ry Rx:
  • Scale Type:
    • Separate XYZ:
    • Uniform:
  • Custom Code:
  • Float Param 1:
  • Float Param 2:
  • Float Param 3:
  • Float Param 4:
  • Vec Param 1:
  • Vec Param 2:
  • Vec Param 3:
  • Vec Param 4:
  • Iteration Type:
    • None:
    • Step Index:
    • Step Ratio:
  • Enable Accumulate:
  • Combine: The type of combination operation to perform.
    • Simple Union:
    • Simple Intersect:
    • Simple Difference:
    • Smooth Union:
    • Smooth Intersect:
    • Smooth Difference:
    • Round Union:
    • Round Intersect:
    • Round Difference:
    • Chamfer Union:
    • Chamfer Intersect:
    • Chamfer Difference:
    • Stair Union:
    • Stair Intersect:
    • Stair Difference:
    • Column Union:
    • Column Intersect:
    • Column Difference:
  • Swap Inputs: Swaps the order of the inputs. This is only relevant for "diff" modes.
  • Blend Radius: The size of the blending region.
  • Blend Number: For stair and column modes, this controls how many steps are used in the blending regions.
  • Blend Offset:

Inputs

  • definition_in: (required)
    • Coordinate Types: vec2 vec3
    • Context Types: Context MaterialContext CameraContext LightContext RayContext ParticleContext
    • Return Types: float vec4 Sdf
  • Rotate Field: (optional) Optional field used to control rotation. The field is evaluated before each iteration, and the resulting value is added to the `Rotate` parameter. If the field uses 2D/3D coordinates, the current position is used. If the field uses 1D coordinates, it is passed `i / (n-1)`, where `i` is the loop iteration, and `n` is the total number of iterations.
    • Coordinate Types: vec2 vec3
    • Context Types: Context MaterialContext CameraContext LightContext RayContext ParticleContext
    • Return Types: vec4
  • Translate Field: (optional)
    • Coordinate Types: vec2 vec3
    • Context Types: Context MaterialContext CameraContext LightContext RayContext ParticleContext
    • Return Types: vec4
  • Scale Field: (optional)
    • Coordinate Types: vec2 vec3
    • Context Types: Context MaterialContext CameraContext LightContext RayContext ParticleContext
    • Return Types: float vec4
  • Custom Transform Field: (optional)
    • Coordinate Types: vec2 vec3
    • Context Types: Context MaterialContext CameraContext LightContext RayContext ParticleContext
    • Return Types: float vec4

Variables

  • step:
  • normstep: