| texture - texture handle |
|
Returns the width of a texture, in pixels. Handy whenever you draw into a texture and want to fill it exactly: SetBuffer TextureBuffer(tex), then Rect 0,0,TextureWidth(tex),TextureHeight(tex),1 clears the whole thing whatever size it turned out to be. It also lets you centre text or scale a blit to fit without hard-coding numbers. For a multi-frame texture made by LoadAnimTexture this is the width of one frame, not of the source image. A texture with no image in it is 0 pixels wide. That is what GetBrushTexture gives you for a brush layer that holds no texture, so when you look through a loaded model's brushes, a width of 0 tells you the layer is empty. TextureBuffer returns 0 for such a texture too. See also: TextureHeight, TextureBuffer, CreateTexture, LoadTexture, GetBrushTexture. |
; TextureWidth Example
; --------------------
Graphics3D 640,480,0,2
SetBuffer BackBuffer()
camera=CreateCamera()
light=CreateLight()
RotateEntity light,45,45,0
; Load a 400x197 image. The engine may resize a texture to dimensions
; the graphics card prefers (usually powers of 2).
tex=LoadTexture("media/b3dlogo.jpg")
crate=CreateCube()
PositionEntity crate,0,0,5
EntityTexture crate,tex
While Not KeyDown(1)
TurnEntity crate,0,1,0
; Arrow keys move the camera
If KeyDown(200) Then MoveEntity camera,0,0,0.1
If KeyDown(208) Then MoveEntity camera,0,0,-0.1
If KeyDown(203) Then TurnEntity camera,0,1,0
If KeyDown(205) Then TurnEntity camera,0,-1,0
RenderWorld
Text 0,0,"Arrows: camera Esc: exit"
Text 0,20,"b3dlogo.jpg is 400 pixels wide"
; TextureWidth reports the width actually used in memory
Text 0,40,"TextureWidth(tex) = "+TextureWidth(tex)
Flip
Wend
End