Adaptive Feature Controller

The Adaptive Feature Controller allows you to precisely adjust the shadow production, as well as the quality of mirrors, monitors and ocean reflections in a simulation.

This lets you balance performance and realism in the scene.

In the Properties panel, configure the following fields:

  • Texture Resolution: The Texture Resolution value impacts the quality of the shadows when there are few shadows. The actual resolution is determined by calculating 2 to the power of this value, e.g., if you enter 12, the resolution is 212 = 4096.
  • Texture Layer Count: Number of 2D textures used to render shadow views. For the best possible quality, this number should equal the Number of Shadow View output. If there are more shadow views than the layer count, one or more texture layers will be shared among shadow views. The Texture Layer Count value impacts the quality of the shadows when you have multiple shadows.

    If using a Head-mounted Display and the quality of the shadows in one eye appears worse than in the other, increase the value of this field.
  • Shadow Bias: An offset added to the depth values from the shadow map. If self-shadowing, decrease the shadow bias. This value should always be <= 0.
  • Ratio of Splits: This value is used to increase the quality of the shadows close to the camera, reducing the quality of shadows further from the camera. This ratio determines when to switch between cascaded shadow maps for infinite directional lights.
  • Filtering Quality: Selects the level of quality (1 to 7) of the filtering of the shadow texture. Changing this value affects the appearance at the edges of shadows.
    • Levels 1 to 4 use point filtering.
    • Levels 5 to 7 use linear filtering.
    Often, a higher value will give a better quality shadow at a small computational expense. Even though linear filtering is generally better than point filtering, in some cases, a higher point filtering level can result in better quality than a low linear filtering level.
  • Number of Splits: Determines the number of cascaded shadow maps for each infinite directional light. This value is used to increase the quality of shadows for the infinite directional light, trading off the quality of shadows cast by other lights. Increasing this number will increase the Number of Shadow View output.
  • Update Rate: The number of shadow maps to redraw each frame. A lower update rate greatly improves the CPU and GPU performance, at the expense of quality.
  • View Distance Size: This field is set to 0 by default. If greater than 0, you can set additional shadow parameters for Viewports:
    • Viewport Name: By matching the name here to that of an existing viewport, you can set its view distance. Leaving the name blank means all unmatched viewports will assume the specified view distance.
    • View Distance: The maximum distance at which to compute shadows for infinite directional lights.
  • Mirror Quality Level: Sets the quality level of the mirror. High means that all monitors are refreshed every frame; Medium means that one mirror is refreshed each frame; Low means that one mirror is refreshed every five frames.
  • Monitor Quality Level: Same as Mirror Quality Level but for monitors.
  • Ocean Reflection Quality Level: Sets the quality level of the ocean's reflectivity. High and Medium both mean that the ocean reflection will be refreshed every frame; Low means that the ocean reflection is refreshed every five frames.
Sometimes, when using legacy scenes from previous versions of Vortex Studio Editor, shadow artifacts may appear in the form of straight lines on surfaces. These artifacts begin to disappear when setting Number of Splits greater than 1, and Ratio of Splits greater or equal to 1.

In addition, the following outputs are available:

  • Memory Usage: Memory reserved for the shadow maps on the GPU (in MB).
  • Number of Shadow View: The number of shadow maps allocated.
  • Number of Shadow Casting Light: Number of shadow-casting lights, including both directional and spot.
  • Number of Shadow Casting Infinite Light: The number of shadow-casting infinite directional lights. The shadow view of this type of light is different than spot lights or finite directional lights. The latter two use one shadow view per light, whereas the former has one shadow view per split per infinite directional light.

When modifying parameters to achieve the desired look for the shadows, start by tuning the parameters in the order below:

  1. Shadow Bias, Ratio of Splits: Changing these parameters does not affect the FPS.
  2. Filtering Quality: Altering this parameter results in a slight change in FPS.
  3. Texture Resolution, Texture Layer Count, Number of Splits: Modifying these parameters results in noticeable changes in FPS.