Gorilla.Context.Texturing

Unit Gorilla.Context.Texturing.pas

Classes

Records

Enumerations

  • enum  TGorillaTextureDataType  = ( dtByte, dtUnsignedByte, dtShort, dtUnsignedShort, dtInt, dtUnsignedInt, dtFloat, dtHalfFloat, dt2Bytes, dt3Bytes, dt4Bytes, dtDouble ) ;
  • enum  TPixelFormatEx  = ( None, RGB, RGBA, BGR, BGRA, RGBA16, BGR_565, BGRA4, BGR4, BGR5_A1, BGR5, BGR10_A2, RGB10_A2, L, LA, LA4, L16, Alpha, R16F, RG16F, RGBA16F, R32F, RG32F, RGBA32F, R, R8, R8_SNORM, RedInteger, R8UI, R8I, R16UI, R16I, R32UI, R32I, RG, RG8, RG8_SNORM, RGInteger, RG8UI, RG8I, RG16UI, RG16I, RG32UI, RG32I, RGB8, SRGB8, RGB565, RGB8_SNORM, R11F_G11F_B10F, RGB9_E5, RGB16F, RGB32F, RGBInteger, RGB8UI, RGB8I, RGB16UI, RGB16I, RGB32UI, RGB32I, RGBA8, SRGB8_ALPHA8, RGBA8_SNORM, RGB5_A1, RGBA4, RGBAInteger, RGBA8UI, RGBA8I, RGB10_A2UI, RGBA16UI, RGBA16I, RGBA32I, RGBA32UI, StencilIndex, Depth, Depth16, Depth24, Depth32, Depth24Stencil8, Depth32Stencil8, DepthStencil ) ;
  • enum  TGorillaTextureKind  = ( Texture2D, Texture3D, CubeMap, ImageTexture3D, Array2D ) ;
  • enum  TGorillaTextureWrap  = ( Clamp, ClampToEdge, ClampToBorder, Repeated, MirroredRepeat ) ;
  • enum  TGorillaGeometryCubeSide  = ( gcsFront, gcsBack, gcsLeft, gcsRight, gcsTop, gcsBottom, gcsOriginal ) ;
  • enum  TGorillaCubeMapFace  = ( PositiveX, NegativeX, PositiveY, NegativeY, PositiveZ, NegativeZ ) ;

Constants

  • const GORILLA_TEXTURES_MIN : Integer = $1;
  • const GORILLA_TEXTURES_MAX : Integer = $1F;
  • const PixelFormatExBytes : array[0..79] of Integer = ;
  • const GORILLA_DEFAULT_TEXTURE_COMPS : TPixelFormatEx = RGBA;
  • const GORILLA_DEFAULT_TEXTURE_COMPS_2 : TPixelFormatEx = RGB;
  • const GORILLA_DEFAULT_TEXTURE_COMPS_16F : TPixelFormatEx = RGBA16F;
  • const GORILLA_DEFAULT_TEXTURE_COMPS_2_16F : TPixelFormatEx = RGB16F;
  • const GORILLA_DEFAULT_TEXTURE_FORMAT : TPixelFormatEx = RGBA;
  • const GORILLA_DEFAULT_TEXTURE_FORMAT_2 : TPixelFormatEx = RGB;
  • const GORILLA_DEFAULT_TEXTURE_COMPS_NONE : TPixelFormatEx = None;
  • const GORILLA_DEFAULT_TEXTURE_FORMAT_NONE : TPixelFormatEx = None;
  • const GORILLA_DEFAULT_TEXTURE_DATATYPE : TGorillaTextureDataType = dtUnsignedByte;

Mics. types

  • type TPixelFormatExHelperClass = class of TPixelFormatExHelper;
  • type TGorillaTextureWrapHelperClass = class of TGorillaTextureWrapHelper;
  • type TGorillaTextureDataTypeHelperClass = class of TGorillaTextureDataTypeHelper;
  • type TGorillaTextureClass = class of TGorillaTexture;
  • type TGorillaTextureBitmapClass = class of TGorillaTextureBitmap;

Functions / Procedures

TGorillaTextureKind

enum TGorillaTextureKind = ( Texture2D, Texture3D, CubeMap, ImageTexture3D, Array2D ) ;

GL_TEXTURE_2D GL_TEXTURE_3D GL_TEXTURE_CUBE_MAP GL_TEXTURE_2D_ARRAY

CubeMapPositiveX, CubeMapNegativeX, CubeMapPositiveY, CubeMapNegativeY, CubeMapPositiveZ, CubeMapNegativeZ

TGorillaGeometryCubeSide

enum TGorillaGeometryCubeSide = ( gcsFront, gcsBack, gcsLeft, gcsRight, gcsTop, gcsBottom, gcsOriginal ) ;

Defines the side of a cube for cubemap rendering.

TGorillaCubeMapFace

enum TGorillaCubeMapFace = ( PositiveX, NegativeX, PositiveY, NegativeY, PositiveZ, NegativeZ ) ;

Defines the side of a cubemap with orientation on each axis.

TPixelFormatExHelper

Helper class for managing pixelformats. It exists a platform specific implementation to convert Delphi enum type to platform specific value.

Ancestors

Members

TGorillaTextureWrapHelper

Helper class to convert TGorillaTextureWrap type to a platform (OpenGL, Metal, ...) specific value.

Ancestors

Members

TGorillaTextureDataTypeHelper

Helper class to convert TGorillaTextureDataType to a platform (OpenGL, Metal, ...) specific value and to a string value.

Ancestors

Members

TGorillaTexture

Extends the internal FMX texture class with more configuration opportunities to initialize a texture.

Remarks

The parent bitmap should be a TGorillaTextureBitmap instance, otherwise default values will be used for extended fields like WrapS, WrapT, ...

Ancestors

Members

Fields

Methods

Properties

TTextureBitmapPrivateAccess

Helper class for implicit type conversion to access the private FTexture field.

Ancestors

Members

TGorillaTextureBitmap

Overrides the FMX texture bitmap component to allow more opportunities to configure texture (format, min-, magfilter, wrapping, datatype, ...) The basic problem with the FMX implementation is, that it uses fixed values for textures. This is not usable for usage in render passes, where a specific type of texture is expected, f.e. for shadow mapping.

Remarks

Because in render passes we create a TTextureBitmap / TGorillaTextureBitmap we need to store texture settings here, to apply them to the automatically created texture instance.

Ancestors

Members

Fields

Methods

Properties