This is an old revision of the document!


Textures

Gorilla3D extends FMX texture support of TTextureBitmap. With default FMX behaviour you're only allowed to create a RGBA texture.

Texture-Kinds

With v0.8.2+ more texture types than 2D textures are supported.

FormatDescription
TGorillaTextureKind.Texture2DDefault texture kind creating a two dimensional image.
TGorillaTextureKind.Texture3DCreating a three dimensional texture.
TGorillaTextureKind.CubeMapCreating a texture with 6 sides of 2D Images.

Supported Formats

A texture format is described by a components internal format and a general format. While the components define the exact datatypes of byte data, the general format is more a simple setup information.

Components / InternalFormat

FormatDescription
TPixelFormatEx.RGBA
TPixelFormatEx.RGBA16F
TPixelFormatEx.RGBA32F
TPixelFormatEx.RGB
TPixelFormatEx.RGB16F
TPixelFormatEx.RGB32F
TPixelFormatEx.RG
TPixelFormatEx.RG16F
TPixelFormatEx.RG32F
TPixelFormatEx.R
TPixelFormatEx.R16F
TPixelFormatEx.R32F
TPixelFormatEx.Depth
TPixelFormatEx.Depth16
TPixelFormatEx.Depth24
TPixelFormatEx.Depth32

Format

TPixelFormatEx.RGBA
TPixelFormatEx.RGB
TPixelFormatEx.RG
TPixelFormatEx.R
TPixelFormatEx.Depth

Min-/Mag Filter

FilterDescription
TTextureFilter.Linear
TTextureFilter.Nearest

Wrapping

LTexture := TGorillaTextureBitmap.Create(1024, 1024);
LTexture.BeginSetup();
try
    with LTexture do
    begin
        Components := TPixelFormatEx.RGB32F;
        Format := TPixelFormatEx.RGB;
        MinFilter := TTextureFilter.Linear;
        MagFilter := TTextureFilter.Linear;
        WrapS := TGorillaTextureWrap.ClampToBorder;
        WrapT := TGorillaTextureWrap.ClampToBorder;
    end;
finally
    LTexture.EndSetup();
end;