Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
textures [2020/01/12 21:30] – [Wrapping] admin | textures [2020/05/25 12:32] – [Example] admin | ||
---|---|---|---|
Line 57: | Line 57: | ||
|TGorillaTextureWrap.MirrorRepeated|| | |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 ===== | ===== Example ===== | ||
+ | |||
+ | At first a simple example where a TGorillaTextureBitmap is created with a size of 1024 x 1024 pixels and will all necessary settings. | ||
<file pascal> | <file pascal> | ||
Line 74: | Line 80: | ||
finally | finally | ||
LTexture.EndSetup(); | LTexture.EndSetup(); | ||
+ | end; | ||
+ | </ | ||
+ | |||
+ | Secondly a common example to ignore linear interpolation of a material texture. This becomes very useful, when displaying textures in pixelart, like minecraft. | ||
+ | |||
+ | We have to disable interpolation and mipmapping. | ||
+ | |||
+ | <file pascal> | ||
+ | var LTexture : TGorillaTextureBitmap; | ||
+ | begin | ||
+ | // request the texture and convert to Gorilla3D texture bitmap. | ||
+ | LTexture := GorillaLambertMaterialSource1.Texture as TGorillaTextureBitmap; | ||
+ | | ||
+ | // start manipulating properties and update them in GPU. | ||
+ | LTexture.BeginSetup(); | ||
+ | try | ||
+ | LTexture.MinFilter := TTextureFilter.Nearest; | ||
+ | LTexture.MagFilter := TTextureFilter.Nearest; | ||
+ | LTexture.Style := LTexture.Style - [TTextureStyle.MipMaps]; | ||
+ | finally | ||
+ | LTexture.EndSetup(); | ||
+ | end; | ||
+ | | ||
+ | // re-assign texture to update for shader | ||
+ | GorillaLambertMaterialSource1.Texture := LTexture; | ||
end; | end; | ||
</ | </ |