Refl Tab ‐ Reflection Settings - ApertureViewer/Aperture-Viewer GitHub Wiki
The Reflections Tab (labeled "Refl") in the Aperture Phototools Suite (APS) is dedicated to controlling how reflections are rendered in the scene. This includes settings for general PBR material reflections, reflection probes, Screen Space Reflections (SSR), and traditional mirror reflections.
General Reflection Settings
These settings apply broadly to how PBR materials and reflection probes behave.
Enabling PBR Emissive Lighting & Probe Selection
- Enable PBR Emissive Lighting:
- Function: When checked, allows PBR materials with an emissive component (materials that are meant to glow or emit light) to correctly contribute their light and color within reflection probes and to render their glow effects properly.
[!NOTE] The PBR emissive lighting system can sometimes be unpredictable or buggy in its current viewer implementation, but it's essential for achieving certain PBR looks.
- Enable Reflection Probe Selection:
- Function: When checked, you can select reflection probe helper objects in-world (if visible or created by the region/user).
- Purpose: Useful for inspecting probe placement and understanding their influence on the scene.
Reflection Probe Parameters
- Reflection Detail:
- Function: A combobox determining what is included in reflection probe captures.
Disabled
: No probe reflections.Static Only
: Reflects only non-moving objects.Static & Dynamic
: Reflects static objects and dynamic objects (like avatars, though often with some limitations or delays).Realtime
: Aims to update probe reflections as frequently as possible, including dynamic elements.
- Function: A combobox determining what is included in reflection probe captures.
[!WARNING] The "Realtime" setting for Reflection Detail can have a severe performance impact. It forces probes to update very frequently. For general use, "Static & Dynamic" is often sufficient. [!TIP] Aperture plans to decouple the update frequency of probes from their detail level to provide more granular control and better performance management.
- Reflection Coverage:
- Function: A combobox controlling which parts of the scene contribute to reflection probe captures.
None
: No specific coverage, relies on global environment.Manual only
: Only explicitly placed reflection probes influence reflections.Manual & terrain
: Manually placed probes and terrain contribute.Full scene
: Attempts to include everything visible in probe captures.
- Function: A combobox controlling which parts of the scene contribute to reflection probe captures.
- **Probe Resolution **:
- Function: A combobox to set the resolution of the textures captured by reflection probes. Higher resolutions provide more detailed and sharper reflections but consume significantly more video memory (VRAM).
- Options: 64, 128, 256, 512, 1024, 2048.
[!CAUTION] Settings above 128 or 256 can consume substantial VRAM, potentially impacting performance or causing instability on systems with limited GPU memory, especially if many probes are active. Aperture Viewer has unlocked higher resolutions (up to 2048) compared to the default Linden Lab cap (often 512) for users who need extreme detail and have capable hardware. [!TIP] Future Aperture development aims to implement dynamic probe resolution based on distance from the camera to optimize VRAM usage.
- **Reflect. Dist. (Reflection Distance) **:
- Function: Controls the maximum distance at which reflections (from probes, SSR, and mirrors) are rendered.
- Range: 1 to 4096 meters.
- Default Reset Button (D): Resets to the value defined by the current Aperture Graphics Preset.
- **Upd Period(s) (Update Period) **:
- Function: Sets the time in seconds between updates for reflection probes that are not set to "Realtime" detail (i.e., for "Static" or "Static & Dynamic" probes). Lower values mean more frequent updates but higher performance cost.
- Range: 0.1 to 30.0 seconds.
- Default Reset Button (D): Resets to
2.0
.
- **Max Local Amb (Max Local Light Ambiance) **:
- Function: Sets an upper limit on the ambient light contribution from local light sources (projectors, point lights) when captured by reflection probes.
- Purpose: Helps prevent local lights from overly dominating the ambient lighting within probe reflections, which could lead to blown-out or unnaturally bright reflected areas.
- Range: 0.0 to 16.0.
- Default Reset Button (D): Resets to
4.0
.
[!NOTE] The interaction of this setting with other global ambient settings (like
probe_ambiance
in the Environment tab) and individual light properties can be complex and may require experimentation to achieve the desired balance.
Screen Space Reflections (SSR)
SSR generates reflections based on what's currently visible on your screen. It can provide detailed reflections for surfaces but cannot reflect objects that are off-screen or occluded.
Enable SSR
- Enable Screen Space Reflections (SSR):
- Function: Checkbox to toggle SSR on or off.
[!NOTE] SSR can be performance-intensive. The controls below are disabled if SSR is off. [!IMPORTANT] A known issue in the current viewer codebase is that SSR effects may not correctly appear in snapshots. Aperture Viewer is actively working on a fix for this. Additionally, SSR can contribute to visual artifacts on water surfaces; this is also under investigation.
SSR Parameters
- SSR Glossy Samples:
- Function: A combobox controlling the maximum number of samples used for rendering glossy (blurry) SSR. Higher sample counts improve the quality and smoothness of these reflections but increase performance cost.
- Options: 1, 2, 4, 8, 16, 32, 64 Samples.
- Default:
4 Samples
in Aperture's higher graphics presets.
- Iterations:
- Function: Controls the number of refinement steps for SSR. Higher values improve reflection quality and reduce noise but can significantly impact performance.
- Range: 1 to 256.
- Default Reset Button (D): Resets to the value defined by the current Aperture Graphics Preset.
- Ray Step:
- Function: Determines the length of each step taken when tracing reflection rays. Smaller values increase accuracy, especially for nearby or complex reflections, but cost more performance. Larger values trace faster but may miss finer details or cause artifacts.
- Range: 0.01 to 2.0.
- Default Reset Button (D): Resets to the value defined by the current Aperture Graphics Preset.
[!NOTE] The current SSR implementation in the base viewer code is considered somewhat incomplete, and some underlying debug settings related to SSR may not have a noticeable effect.
Mirror Reflections
These settings control traditional, planar mirror reflections, which render a separate view of the scene from the mirror's perspective.
Enable Mirrors
- Enable Mirrors:
- Function: Checkbox to toggle real-time mirror reflections on or off.
[!WARNING] Mirrors are very performance-intensive as they require rendering the scene an additional time for each active mirror. The controls below are disabled if Mirrors are off.
Mirror Parameters
- Mirror Resolution:
- Function: A combobox to set the resolution of the texture rendered for mirror reflections. Higher values produce sharper, more detailed mirror images but significantly increase the processing load.
- Options: 128, 256, 512, 1024, 2048, 4096, 8192.
[!TIP] For high-resolution photography involving mirrors, a higher Mirror Resolution can be beneficial if your hardware can handle it.
- Mirror Update Rate:
- Function: A combobox to control how frequently mirror reflections are updated.
Low
,Medium
,High
,Ultra
: Higher settings update more frequently, providing smoother real-time reflections in mirrors, but at a higher performance cost.
- Function: A combobox to control how frequently mirror reflections are updated.
- Mirr Dist (m):
- Function: Sets the maximum distance (in meters) from the camera at which objects will be rendered within mirror reflections.
- Range: 1 to 128 meters.
- Default Reset Button (D): Resets to
8.0
.
[!NOTE] There has been some discussion regarding whether this specific distance control functions as fully intended in all scenarios or if its effect is sometimes subtle or overridden by other factors. This is subject to ongoing review. The global
RenderReflectionProbeDrawDistance
also influences what appears in mirrors.