Record TGLSLUniform

Hierarchy
Properties

Unit

Declaration

type TGLSLUniform = record

Description

GLSL uniform provides information to shader that is constant for a given shader execution.

Overview

Fields

Public Owner: TGLSLProgram;
Public Name: string;
Public Location: TGLint;

Methods

Public class function NotExisting: TGLSLUniform; static;
Public procedure SetValue(const Value: boolean ); overload;
Public procedure SetValue(const Value: TGLint ); overload;
Public procedure SetValue(const Value: TVector2Integer); overload;
Public procedure SetValue(const Value: TVector3Integer); overload;
Public procedure SetValue(const Value: TVector4Integer); overload;
Public procedure SetValue(const Value: TGLfloat ); overload;
Public procedure SetValue(const Value: TVector2 ); overload;
Public procedure SetValue(const Value: TVector3 ); overload;
Public procedure SetValue(const Value: TVector4 ); overload;
Public procedure SetValue(const Value: TMatrix2 ); overload;
Public procedure SetValue(const Value: TMatrix3 ); overload;
Public procedure SetValue(const Value: TMatrix4 ); overload;
Public procedure SetValue(const Value: TBooleanList); overload;
Public procedure SetValue(const Value: TInt32List ); overload;
Public procedure SetValue(const Value: TSingleList ); overload;
Public procedure SetValue(const Value: TVector2List); overload;
Public procedure SetValue(const Value: TVector3List); overload;
Public procedure SetValue(const Value: TVector4List); overload;
Public procedure SetValue(const Value: TMatrix3List); overload;
Public procedure SetValue(const Value: TMatrix4List); overload;

Description

Fields

Public Owner: TGLSLProgram;

This item has no description.

Public Name: string;

This item has no description.

Public Location: TGLint;

This item has no description.

Methods

Public class function NotExisting: TGLSLUniform; static;

Calling TGLSLUniform.SetValue of this is ignored.

Public procedure SetValue(const Value: boolean ); overload;

Set uniform variable value. You should get the uniform information first using the TGLSLProgram.Uniform call. All the documentation for TGLSLProgram.SetUniform applies also here, so the program must be linked, and enabled (it will be enabled automatically by calling this).

This method always ignores a missing uniform. Rely on TGLSLProgram.Uniform to make something else (like make a warning).

The TGLSLUniform information about a given uniform stays constant while the program is linked. Using the TGLSLProgram.Uniform one time, and then repeatedly calling TGLSLUniform.SetValue, is faster than repeatedly calling TGLSLProgram.SetUniform. Because the latter will effectively call TGLSLProgram.Uniform every time, which may have non-zero cost.

Actually, the uniform location (TGLSLUniform.Location) is constant for a given program, and you can even predict the location in some cases without calling TGLSLProgram.Uniform method (see GLSL reference). So it can be even faster, as you can prepare correct TGLSLUniform instance in your own code, without calling TGLSLProgram.Uniform.

Public procedure SetValue(const Value: TGLint ); overload;

This item has no description.

Public procedure SetValue(const Value: TVector2Integer); overload;

This item has no description.

Public procedure SetValue(const Value: TVector3Integer); overload;

This item has no description.

Public procedure SetValue(const Value: TVector4Integer); overload;

This item has no description.

Public procedure SetValue(const Value: TGLfloat ); overload;

This item has no description.

Public procedure SetValue(const Value: TVector2 ); overload;

This item has no description.

Public procedure SetValue(const Value: TVector3 ); overload;

This item has no description.

Public procedure SetValue(const Value: TVector4 ); overload;

This item has no description.

Public procedure SetValue(const Value: TMatrix2 ); overload;

This item has no description.

Public procedure SetValue(const Value: TMatrix3 ); overload;

This item has no description.

Public procedure SetValue(const Value: TMatrix4 ); overload;

This item has no description.

Public procedure SetValue(const Value: TBooleanList); overload;

This item has no description.

Public procedure SetValue(const Value: TInt32List ); overload;

This item has no description.

Public procedure SetValue(const Value: TSingleList ); overload;

This item has no description.

Public procedure SetValue(const Value: TVector2List); overload;

This item has no description.

Public procedure SetValue(const Value: TVector3List); overload;

This item has no description.

Public procedure SetValue(const Value: TVector4List); overload;

This item has no description.

Public procedure SetValue(const Value: TMatrix3List); overload;

This item has no description.

Public procedure SetValue(const Value: TMatrix4List); overload;

This item has no description.


Generated by PasDoc 0.16.0-snapshot.