Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
textures [2020/01/12 20:59] admintextures [2020/01/12 21:33] – [Wrapping] admin
Line 1: Line 1:
 ====== Textures ====== ====== 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.
 +
 +^Format^Description^
 +|TGorillaTextureKind.Texture2D|Default texture kind creating a two dimensional image.|
 +|TGorillaTextureKind.Texture3D|Creating a three dimensional texture.|
 +|TGorillaTextureKind.CubeMap|Creating 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 ====
 +^Format^Description^
 +|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 =====
 +
 +^Filter^Description^
 +|TTextureFilter.Linear||
 +|TTextureFilter.Nearest||
 +===== Wrapping =====
 +
 +^Kind^^
 +|TGorillaTextureWrap.ClampToBorder||
 +|TGorillaTextureWrap.ClampToEdge||
 +|TGorillaTextureWrap.Clamp||
 +|TGorillaTextureWrap.Repeated||
 +|TGorillaTextureWrap.MirrorRepeated||
 +
 +===== Setting up =====
 +
 +To set up a Gorilla3D texture correctly, you need to encapsulate property configuration inside of BeginSetup and EndSetup method.
 +Only then all settings will correctly be submitted to OpenGL.
 +===== Example =====
  
 <file pascal> <file pascal>
Line 5: Line 67:
 LTexture.BeginSetup(); LTexture.BeginSetup();
 try try
-    with FFBOTexture do+    with LTexture do
     begin     begin
         Components := TPixelFormatEx.RGB32F;         Components := TPixelFormatEx.RGB32F;