DxCreateTexture
Jump to navigation
Jump to search
This function creates a texture element that can be used in the dxDraw functions.
Important Note: It seems like dxCreateTexture uses both VRAM and RAM (more of RAM), so, if you want to have big render targets (on which you don't draw every frame), this is a good solution using dxSetTexturePixels. |
It is possible to use dxCreateTexture to load cubemaps and volume textures, but these will only be useable as inputs for a shader. The Microsoft utility DxTex can view and change cubemaps and volume textures. DxTex can also convert standard textures into DXT1/3/5 compressed .dds which should reduce file sizes.
Syntax
element dxCreateTexture ( string pixels / string filepath [, string textureFormat = "argb", bool mipmaps = true, string textureEdge = "wrap" ] )
element dxCreateTexture ( int width, int height [, string textureFormat = "argb", string textureEdge = "wrap", string textureType = "2d", int depth = 1 ] )
OOP Syntax Help! I don't understand this!
- Method: DxTexture(...)
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, preferably power of two (16, 32, 64 etc.), maximum is 16384
- height : Desired height, preferably power of two (16, 32, 64 etc.), maximum is 16384
Optional Arguments
NOTE: When using optional arguments, you might need to supply all arguments before the one you wish to use. For more information on optional arguments, see optional arguments.
- textureFormat : A string representing the desired texture format, which can be one of:
- "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 crisp alpha blending.
- "dxt5" : DXT5 compressed - Can take a fraction of a second longer to load (unless the file is already a DXT5 .dds). Uses 4 times less video memory than ARGB and can speed up drawing. Quality slightly better than DXT1 and supports smooth alpha blending.
- mipmaps : True to create a mip-map chain so the texture looks good when drawn at various sizes.
- textureEdge : A string representing the desired texture edge handling, which can be one of:
- "wrap" : Wrap the texture at the edges (default)
- "clamp" : Clamp the texture at the edges. This may help avoid edge artifacts.
- "mirror" : Mirror the texture at the edges.
- textureType : A string representing the desired texture type, which can be one of:
- "2d" : Standard texture (default)
- "3d" : Volume texture
- "cube" : Cube map
- depth: Desired number of slices when creating a volume texture
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 )
Changelog
Version | Description |
---|
1.3.0-9.04021 | Added textureType and depth argument |
1.3.0-9.04035 | Added textureEdge argument |
See Also
- dxConvertPixels
- dxCreateFont
- dxCreateRenderTarget
- dxCreateScreenSource
- dxCreateShader
- dxCreateTexture
- dxDrawCircle
- dxDrawImage
- dxDrawImageSection
- dxDrawLine
- dxDrawLine3D
- dxDrawMaterialLine3D
- dxDrawMaterialPrimitive
- dxDrawMaterialPrimitive3D
- dxDrawMaterialSectionLine3D
- dxDrawPrimitive
- dxDrawPrimitive3D
- dxDrawRectangle
- dxDrawText
- dxDrawWiredSphere
- dxGetBlendMode
- dxGetFontHeight
- dxGetMaterialSize
- dxGetPixelColor
- dxGetPixelsSize
- dxGetPixelsFormat
- dxGetStatus
- dxGetTextSize
- dxGetTextWidth
- dxGetTexturePixels
- dxIsAspectRatioAdjustmentEnabled
- dxSetAspectRatioAdjustmentEnabled
- dxSetBlendMode
- dxSetPixelColor
- dxSetRenderTarget
- dxSetShaderValue
- dxSetShaderTessellation
- dxSetShaderTransform
- dxSetTestMode
- dxSetTextureEdge
- dxSetTexturePixels
- dxUpdateScreenSource