Unit CastleRenderOptions
Description
Configure rendering options. The TCastleRenderOptions component configures the rendering at each particular scene, and is usually accessed through TCastleScene.RenderOptions. This unit contains also related types, constants and some variables.
Uses
- Classes
- CastleColors
- CastleClassUtils
Overview
Classes, Interfaces, Objects and Records
Name | Description |
---|---|
Class TCastleRenderOptions |
Options that control rendering, available at every scene through TCastleScene.RenderOptions. |
Types
TShaderType = (...); |
TUniformMissing = (...); |
TColorMode = (...); |
TToneMapping = (...); |
TColorSpace = (...); |
TShadersRendering = (...) deprecated 'this was only useful with TCastleRenderOptions.Shaders, which is now deprecated in favor of TCastleRenderOptions.PhongShading'; |
TBumpMapping = (...); |
TRenderingMode = (...); |
TWireframeEffect = (...); |
TShadowSampling = (...); |
TAutoMinificationFilter = (...); |
TMinificationFilter = minNearest..minLinearMipmapLinear; |
TAutoMagnificationFilter = (...); |
TMagnificationFilter = magNearest..magLinear; |
TBlendingSourceFactor = (...); |
TBlendingDestinationFactor = (...); |
TShapeSort = (...); |
TShapeSortNoAuto = sortNone .. High(TShapeSort); |
TBlendingSort = TShapeSort deprecated 'use TShapeSort'; |
T3DCoord = 0..2; |
T3DCoords = set of T3DCoord; |
TRenderLayer = (...); |
TLineType = (...); |
TColorChannel = 0..3; |
TColorChannels = set of TColorChannel; |
TCastleRenderOptionsEvent = procedure (const Options: TCastleRenderOptions) of object; |
TCastleRenderOptionsClass = class of TCastleRenderOptions; |
Constants
ShadowSamplingNames: array [TShadowSampling] of string =
( 'Simple', 'PCF 4', 'PCF 4 Bilinear', 'PCF 16', 'Variance Shadow Maps (Experimental)' ); |
ShaderTypeName: array [TShaderType] of string =
( 'Vertex', 'Geometry', 'Fragment' ); |
BumpMappingNames: array [TBumpMapping] of string = (
'None',
'Basic',
'Parallax',
'Steep Parallax',
'Steep Parallax With Self-Shadowing'
); |
BlendingSourceFactorNames: array [TBlendingSourceFactor] of string =
(
'SRC_ALPHA',
'ONE_MINUS_SRC_ALPHA',
'ZERO',
'ONE',
'DST_COLOR',
'SRC_COLOR',
'DST_ALPHA',
'ONE_MINUS_DST_COLOR',
'ONE_MINUS_SRC_COLOR',
'ONE_MINUS_DST_ALPHA',
'SRC_ALPHA_SATURATE',
'CONSTANT_COLOR',
'ONE_MINUS_CONSTANT_COLOR',
'CONSTANT_ALPHA',
'ONE_MINUS_CONSTANT_ALPHA'
); |
BlendingDestinationFactorNames: array [TBlendingDestinationFactor] of string =
(
'SRC_ALPHA',
'ONE_MINUS_SRC_ALPHA',
'ZERO',
'ONE',
'DST_COLOR',
'SRC_COLOR',
'DST_ALPHA',
'ONE_MINUS_DST_COLOR',
'ONE_MINUS_SRC_COLOR',
'ONE_MINUS_DST_ALPHA',
'CONSTANT_COLOR',
'ONE_MINUS_CONSTANT_COLOR',
'CONSTANT_ALPHA',
'ONE_MINUS_CONSTANT_ALPHA'
); |
DefaultColorSpace = csLinearWhenPhysicalMaterial; |
DefaultStencilBits = 8; |
AllColorChannels = [0..3]; |
bsNone = sortNone deprecated 'use sortNone'; |
bs3D = sort3D deprecated 'use sort3D'; |
bs2D = sort2D deprecated 'use sort2D'; |
bs3DOrigin = sort3DOrigin deprecated 'use sort3DOrigin'; |
bs3DGround = sort3DGround deprecated 'use sort3DGround'; |
Variables
LogShadowVolumes: Boolean = false; |
ColorSpace: TColorSpace = DefaultColorSpace; |
ToneMapping: TToneMapping = tmNone; |
InternalForceWireframe: TWireframeEffect; |
Description
Types
TShaderType = (...); |
Shader types. Values
|
TUniformMissing = (...); |
What to do when shader uniform variable is set but doesn't exist in the shader. See TGLSLProgram.UniformMissing. Values
|
TColorMode = (...); |
Type of TAbstractColorNode.Mode. Values
|
TToneMapping = (...); |
Type of ToneMapping. Values
|
TColorSpace = (...); |
Color space. Determines in what color space do we make lighting calculations and do we gamma-correct colors when reading textures and writing to screen. See https://castle-engine.io/color_space . Values
|
TShadersRendering = (...) deprecated 'this was only useful with TCastleRenderOptions.Shaders, which is now deprecated in favor of TCastleRenderOptions.PhongShading'; |
Warning: this symbol is deprecated: this was only useful with TCastleRenderOptions.Shaders, which is now deprecated in favor of TCastleRenderOptions.PhongShading This item has no description. Values
|
TBumpMapping = (...); |
Possible bump mapping options. Use for TCastleRenderOptions.BumpMapping. See https://castle-engine.io/bump_mapping . Values
|
TRenderingMode = (...); |
Possible values of TCastleRenderOptions.Mode. Values
|
TWireframeEffect = (...); |
Values for TCastleRenderOptions.WireframeEffect. Generally, two other properties may affect the way wireframe is rendered: TCastleRenderOptions.WireframeColor and TCastleRenderOptions.LineWidth, quite self-explanatory. Values
|
TShadowSampling = (...); |
Values for TCastleRenderOptions.ShadowSampling. Values
|
TAutoMinificationFilter = (...); |
Texture minification filter (what happens when many texture pixels are squeezed in one screen pixel). Values
|
TMinificationFilter = minNearest..minLinearMipmapLinear; |
This item has no description. |
TAutoMagnificationFilter = (...); |
Texture magnification filter (what happens when a single texture pixel in stretched over many screen pixels). Values
|
TMagnificationFilter = magNearest..magLinear; |
This item has no description. |
TBlendingSourceFactor = (...); |
This item has no description. Values
|
TBlendingDestinationFactor = (...); |
This item has no description. Values
|
TShapeSort = (...); |
Various ways to sort the shapes. Used to define blending sort TCastleViewport.BlendingSort to correctly render partially-transparent objects. See https://castle-engine.io/blending . Used to suggest blending sort from X3D too, TNavigationInfoNode.BlendingSort. Used to define occlusion sort TCastleViewport.OcclusionSort to optimize rendering. Values
|
TShapeSortNoAuto = sortNone .. High(TShapeSort); |
Like TShapeSort, but doesn't allow sortAuto value. |
TBlendingSort = TShapeSort deprecated 'use TShapeSort'; |
Warning: this symbol is deprecated: use TShapeSort This item has no description. |
T3DCoord = 0..2; |
This item has no description. |
T3DCoords = set of T3DCoord; |
This item has no description. |
TRenderLayer = (...); |
Render layer for TCastleTransform.RenderLayer. Values
|
TLineType = (...); |
Supported line types (patterns), for TLinePropertiesNode.LineType or TRenderContext.LineType. Values
|
TColorChannel = 0..3; |
Possible color channel to write, see TCastleRenderOptions.InternalColorChannels. |
TColorChannels = set of TColorChannel; |
Possible subset of color channels to write, see TCastleRenderOptions.InternalColorChannels. |
TCastleRenderOptionsEvent = procedure (const Options: TCastleRenderOptions) of object; |
This item has no description. |
TCastleRenderOptionsClass = class of TCastleRenderOptions; |
This item has no description. |
Constants
ShadowSamplingNames: array [TShadowSampling] of string =
( 'Simple', 'PCF 4', 'PCF 4 Bilinear', 'PCF 16', 'Variance Shadow Maps (Experimental)' ); |
This item has no description. |
ShaderTypeName: array [TShaderType] of string =
( 'Vertex', 'Geometry', 'Fragment' ); |
This item has no description. |
BumpMappingNames: array [TBumpMapping] of string = (
'None',
'Basic',
'Parallax',
'Steep Parallax',
'Steep Parallax With Self-Shadowing'
); |
This item has no description. |
BlendingSourceFactorNames: array [TBlendingSourceFactor] of string =
(
'SRC_ALPHA',
'ONE_MINUS_SRC_ALPHA',
'ZERO',
'ONE',
'DST_COLOR',
'SRC_COLOR',
'DST_ALPHA',
'ONE_MINUS_DST_COLOR',
'ONE_MINUS_SRC_COLOR',
'ONE_MINUS_DST_ALPHA',
'SRC_ALPHA_SATURATE',
'CONSTANT_COLOR',
'ONE_MINUS_CONSTANT_COLOR',
'CONSTANT_ALPHA',
'ONE_MINUS_CONSTANT_ALPHA'
); |
Names for TBlendingSourceFactor used by TBlendModeNode when it is read/written in X3D file. Deliberately compatible with (a subset of) X3DOM BlendMode specification on https://doc.x3dom.org/author/Shape/BlendMode.html . |
BlendingDestinationFactorNames: array [TBlendingDestinationFactor] of string =
(
'SRC_ALPHA',
'ONE_MINUS_SRC_ALPHA',
'ZERO',
'ONE',
'DST_COLOR',
'SRC_COLOR',
'DST_ALPHA',
'ONE_MINUS_DST_COLOR',
'ONE_MINUS_SRC_COLOR',
'ONE_MINUS_DST_ALPHA',
'CONSTANT_COLOR',
'ONE_MINUS_CONSTANT_COLOR',
'CONSTANT_ALPHA',
'ONE_MINUS_CONSTANT_ALPHA'
); |
Names for TBlendingDestinationFactor used by TBlendModeNode when it is read/written in X3D file. Deliberately compatible with (a subset of) X3DOM BlendMode specification on https://doc.x3dom.org/author/Shape/BlendMode.html . |
DefaultColorSpace = csLinearWhenPhysicalMaterial; |
'SRC_ALPHA_SATURATE', // NOT SUPPORTED AS DESTINATION FACTOR |
DefaultStencilBits = 8; |
Default for TCastleWindow.StencilBits and TCastleControl.StencilBits. Non-zero now, which means that in both TCastleWindow and TCastleControl, shadow volumes should work by default. Note that TCastleWindow implementation makes a smooth fallback: if we cannot get stencil, we retry initialization without stencil buffer. This way we will open the window reliably, and in the worst case – shadow volumes will not work. |
AllColorChannels = [0..3]; |
This item has no description. |
bsNone = sortNone deprecated 'use sortNone'; |
Warning: this symbol is deprecated: use sortNone This item has no description. |
bs3D = sort3D deprecated 'use sort3D'; |
Warning: this symbol is deprecated: use sort3D This item has no description. |
bs2D = sort2D deprecated 'use sort2D'; |
Warning: this symbol is deprecated: use sort2D This item has no description. |
bs3DOrigin = sort3DOrigin deprecated 'use sort3DOrigin'; |
Warning: this symbol is deprecated: use sort3DOrigin This item has no description. |
bs3DGround = sort3DGround deprecated 'use sort3DGround'; |
Warning: this symbol is deprecated: use sort3DGround This item has no description. |
Variables
LogShadowVolumes: Boolean = false; |
Log shadow volume information. See https://castle-engine.io/manual_log.php about the log. |
ColorSpace: TColorSpace = DefaultColorSpace; |
Determines if color calculation is done in linear space (thus performing gamma correction when reading textures and when storing pixel color to screen) or sRGB (thus not performing gamma correction). Using linear color space follows reality better and is advised for modern games. Whatever you choose, your assets (their colors and textures) have to be prepared with the given color space in mind. See https://castle-engine.io/color_space and possible TColorSpace values documentation. |
ToneMapping: TToneMapping = tmNone; |
Change the colors you render, to make them visually better. Contrary to ColorSpace, tone mapping is not about realism. It's just about changing all colors using some visually-pleasing equation. Just as with <iColorSpace, tone mapping is applied to TCastleScene rendering. It doesn't affect UI rendering. Do you want to implement your own color-changing operation? There are two ways to process colors with shaders:
) |
InternalForceWireframe: TWireframeEffect; |
Force given rendering for all scenes, if not weNormal. |
Generated by PasDoc 0.16.0-snapshot.