DxCreateTexture: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 14: Line 14:
*'''pixels:''' [[Texture_pixels|Pixels]] containing image data. ('plain', 'jpeg' or 'png' pixels can be used here)
*'''pixels:''' [[Texture_pixels|Pixels]] containing image data. ('plain', 'jpeg' or 'png' pixels can be used here)
or
or
*'''width:''' Required width
*'''width:''' Desired width (Must be a power of two. e.g. 128, 256)
*'''height :''' Required height
*'''height :''' Desired height (Must be a power of two. e.g. 128, 256)


===Optional Arguments===
===Optional Arguments===

Revision as of 02:59, 25 January 2012

This function creates a texture element that can be used in the dxDraw functions

Syntax

element dxCreateTexture ( string filepath [, string textureFormat = "argb", bool mipmaps = true ] )
element dxCreateTexture ( string pixels [, string textureFormat = "argb", bool mipmaps = true ] )
element dxCreateTexture ( int width, int height [, string textureFormat ] )

Required Arguments

  • filepath: The filepath of the image. (.bmp, .dds, .jpg, .png, and .tga images are supported). Image files should ideally have dimensions that are a power of two, to prevent possible blurring.

or

  • pixels: Pixels containing image data. ('plain', 'jpeg' or 'png' pixels can be used here)

or

  • width: Desired width (Must be a power of two. e.g. 128, 256)
  • height : Desired height (Must be a power of two. e.g. 128, 256)

Optional Arguments

  • textureFormat : Desired texture format
    • 'argb' : ARGB uncompressed 32 bit color (default)
    • 'dxt1' : DXT1 compressed - Can take a fraction of a second longer to load (unless the file is already a DXT1 .dds). Uses 8 times less video memory than ARGB and can speed up drawing. Quality not as good as ARGB and does not support alpha blending.
    • 'dxt3' : DXT3 compressed - Can take a fraction of a second longer to load (unless the file is already a DXT3 .dds). Uses 4 times less video memory than ARGB and can speed up drawing. Quality slightly better than DXT1 and supports smooth alpha blending.
    • 'dxt5' : DXT5 compressed - Can take a fraction of a second longer to load (unless the file is already a DXT3 .dds). Uses 4 times less video memory than ARGB and can speed up drawing. Quality slightly better than DXT1 and supports crisp alpha blending.
  • mipmaps : True to create a mip-map chain so the texture looks good when drawn at various sizes.

Returns

Returns a texture if successful, false if invalid arguments were passed to the function.

Example

addEventHandler( "onClientRender", root,
    function()
        if myImage then
            dxDrawImage( 100, 350, 300, 350, myImage  )
        end
    end
)

-- Use 'toggle' command to switch image on and off
addCommandHandler( "toggle",
    function()
        if not myImage then
            myImage = dxCreateTexture( "moonpig.png" )  -- Create texture
        else        
            destroyElement( myImage )                 -- Destroy texture
            myImage = nil
        end
    end
)

See Also