HU/dxCreateTexture: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 19: Line 19:
===Kötelező paraméterek===
===Kötelező paraméterek===
*'''filepath:''' A kép elérési útja. (támogatott formátumok .bmp, .dds, .jpg, .png, and .tga). A képfájloknak ideális esetben olyan méretekkel kell rendelkezniük, amelyek a kettő négyzetei, hogy megakadályozzák az elmosódást.
*'''filepath:''' A kép elérési útja. (támogatott formátumok .bmp, .dds, .jpg, .png, and .tga). A képfájloknak ideális esetben olyan méretekkel kell rendelkezniük, amelyek a kettő négyzetei, hogy megakadályozzák az elmosódást.
or
vagy
*'''pixels:''' [[Texture_pixels|Pixelek]] tartalmazzák a képadatokat. ('plain', 'jpeg' vagy 'png' formátumok használhatóak)
*'''pixels:''' [[Texture_pixels|Pixelek]] tartalmazzák a képadatokat. ('plain', 'jpeg' vagy 'png' formátumok használhatóak)
or
vagy
*'''width:''' A kívánt szélesség, lehetőleg a kettő négyzetei (16, 32, 64 stb.), maximum 16384
*'''width:''' A kívánt szélesség, lehetőleg a kettő négyzetei (16, 32, 64 stb.), maximum 16384
*'''height :''' A kívánt magasság, lehetőleg a kettő négyzetei (16, 32, 64 stb.), maximum 16384
*'''height :''' A kívánt magasság, lehetőleg a kettő négyzetei (16, 32, 64 stb.), maximum 16384

Revision as of 14:46, 21 October 2018

Ez function létrehoz egy textúre elemet, mely a dxDraw function-ban használható.

[[{{{image}}}|link=|]] Fontos megjegyzés: Úgy tűnik, hogy a dxCreateTexture VRAM-ot is és RAM-ot is egyaránt használ (több RAM-ot), ezért, ha nagy renderelési célokat szeretne (melyen nem rajzol ki minden frame-t), ez egy jó megoldás lehet a dxSetTexturePixels használata.
[[{{{image}}}|link=|]] Megjegyzés: Az oldal jobb oldalán jelzett idők azok az idők, melyek szükségesek a rajzolási sorrend hozzáadásához, ez nem az a valós idő, amibe ezek lerajzolása telik.
A speedtest showing the performance of a texture created with various settings of textureFormat.[Mipmaps = true][textureEdge = "wrap"]
A speedtest showing the performance of a texture created with various settings of textureFormat.[Mipmaps = false][textureEdge = "wrap"]

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.

Szintaxis

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(...)


Kötelező paraméterek

  • filepath: A kép elérési útja. (támogatott formátumok .bmp, .dds, .jpg, .png, and .tga). A képfájloknak ideális esetben olyan méretekkel kell rendelkezniük, amelyek a kettő négyzetei, hogy megakadályozzák az elmosódást.

vagy

  • pixels: Pixelek tartalmazzák a képadatokat. ('plain', 'jpeg' vagy 'png' formátumok használhatóak)

vagy

  • width: A kívánt szélesség, lehetőleg a kettő négyzetei (16, 32, 64 stb.), maximum 16384
  • height : A kívánt magasság, lehetőleg a kettő négyzetei (16, 32, 64 stb.), maximum 16384

Tetszőleges paraméterek

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.
  • 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

Visszatérési érték

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

Példa

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

Lásd még

Fordította