Record TRenderOnePassParams

Hierarchy
Properties

Unit

Declaration

type TRenderOnePassParams = record

Description

How to render a single pass, when the shapes are already collected.

Overview

Fields

Public UsingBlending: Boolean;
Public FilterShadowVolumesReceivers: TBooleanSet;
Public DisableShadowVolumeCastingLights: Boolean;
Public InsideStencilTest: Boolean;

Methods

Public procedure Init;

Description

Fields

Public UsingBlending: Boolean;

Should we use blending.

TCastleViewport.RenderOnePass does filtering shapes based on this, before calling ShapesRenderer.Render. Matches shape that are opaque (TGLShape.UseBlending = False) or transparent (TGLShape.UseBlending = True).

Note: When UsingBlending = True, always DisableShadowVolumeCastingLights = False. Shadow volumes simply don't allow transparent object to function properly as shadow receivers. Reading [http://developer.nvidia.com/object/fast_shadow_volumes.html] notes: they also just do separate rendering pass to render the partially-transparent parts, IOW they also note that transparent parts simply don't work at all with shadow volumes.

Public FilterShadowVolumesReceivers: TBooleanSet;

Render only shapes that may receive shadow volumes, or ones that don't, or both.

TCastleViewport.RenderOnePass does filtering shapes based on this, before calling ShapesRenderer.Render. This checks if TCastleScene.ReceiveShadowVolumes is within this set.

Default value (after Init) is [false, true].

Note: DisableShadowVolumeCastingLights is always False when FilterShadowVolumesReceivers is only [False] (to render only stuff that is never in shadow).

Public DisableShadowVolumeCastingLights: Boolean;

If True, means that we're using multi-pass shadowing technique (like shadow volumes) and currently doing the "shadowed" pass.

Which means that lights with shadowVolumes = TRUE (see https://castle-engine.io/shadow_volumes#_x3d_fields_shadowvolumes_and_shadowvolumesmain ) should be turned off.

Public InsideStencilTest: Boolean;

This item has no description.

Methods

Public procedure Init;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.