Class TGLSLScreenEffect

Unit

Declaration

type TGLSLScreenEffect = class(TGLSLProgram)

Description

Warning: this symbol is deprecated: this will be internal class soon, instead use TCastleScreenEffects or TCastleViewport and add screen effects there

GLSL shader program specialized for rendering screen effects. See https://castle-engine.io/x3d_extensions_screen_effects.php about screen effects.

Do not use the ancestor AttachVertexShader and AttachFragmentShader methods, instead set the ScreenEffectShader. This way, the standard GLSL functionality of screen effects will be attached to the vertex and fragment shader code automatically. At link time, this looks at current OpenGL context multi-sampling capabilities, and the NeedsDepth value, to link the correct shader code.

Hierarchy

Overview

Methods

Public constructor Create;
Public procedure Link; override;

Properties

Public property NeedsDepth: boolean read FNeedsDepth write FNeedsDepth default false;
Public property UniformNotFoundAction default uaIgnore;
Public property ScreenEffectShader: string read FScreenEffectShader write FScreenEffectShader;

Description

Methods

Public constructor Create;
 
Public procedure Link; override;
 

Properties

Public property NeedsDepth: boolean read FNeedsDepth write FNeedsDepth default false;
 
Public property UniformNotFoundAction default uaIgnore;

In this class, UniformNotFoundAction is by default uaIgnore, since it's normal that screen effect doesn't use some of it's uniform variables.

Public property ScreenEffectShader: string read FScreenEffectShader write FScreenEffectShader;

Attach GLSL code for the screen effect (executed as part of fragment shader). See https://castle-engine.io/x3d_extensions_screen_effects.php .


Generated by PasDoc 0.16.0.