HU/dxCreateTexture: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
 
(8 intermediate revisions by the same user not shown)
Line 8: Line 8:
[[Image:DxCreateTexture_mipmaps_false.png |frame|A speedtest showing the performance of a texture created with various settings of textureFormat.[Mipmaps = false][textureEdge = "wrap"]]]
[[Image:DxCreateTexture_mipmaps_false.png |frame|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 [http://nightly.mtasa.com/files/shaders/DxTex.zip 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.
A kockák és a nagy mennyiségű textúrák betöltésésre használhatjuk a dxCreateTexture-át, de ezeket csak az árnyéknál használhatóak.  
A Microsoft segédprogramokban [http://nightly.mtasa.com/files/shaders/DxTex.zip DxTex] megtekintheti és módosíthatja a kockákat és a nagy mennyiségű textúrákat. Valamint a DxTex a szabványos textúrákat DXT1/3/5-be tömörítheti .dds - melyek csökkentik a fájlméreteket.
==Szintaxis==  
==Szintaxis==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
Line 22: Line 23:
*'''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)
vagy
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 legyenek (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 legyenek (16, 32, 64 stb.), maximum 16384


===Tetszőleges paraméterek===
===Tetszőleges paraméterek===
{{OptionalArg}}
{{OptionalArg hu}}
*'''textureFormat :''' A string representing the desired texture format, which can be one of:
*'''textureFormat :''' Egy string, mely a kívánt textúra formátumot ábrázolja, melyek a következők lehetnek:
**'''"argb"''' : ARGB uncompressed 32 bit color (default).
**'''"argb"''' : ARGB tömörítetlen 32 bites szín (alapértelmezett).
**'''"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.
**'''"dxt1"''' : DXT1 tömörített - A betöltés tovább tarthat, mint a másodperc törtrésze (hacsak a fájl már nem DXT1 .dds). 8-szor kevesebb videó memóriát használ, mint az ARGB '''felgyorsíthatja a rajzolást'''. A minősége nem olyan jó, mint az ARGB-nél, és nem támogatja az alpha társítást.
**'''"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.
**'''"dxt3"''' : DXT3 tömörített - A betöltés tovább tarthat, mint a másodperc törtrésze (hacsak a fájl már nem DXT3 .dds). 4-szer kevesebb videó memóriát használ, mint az ARGB '''felgyorsíthatja a rajzolást'''. A minősége valamivel jobb, mint a DXT1 és támogatja az erős alpha társítást.
**'''"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.
**'''"dxt5"''' : DXT5 tömörített - A betöltés tovább tarthat, mint a másodperc törtrésze (hacsak a fájl már nem DXT5 .dds). 4-szer kevesebb videó memóriát használ, mint az ARGB '''felgyorsíthatja a rajzolást'''. A minősége valamivel jobb, mint a DXT1 és támogatja az egyenletes alpha társítást.
*'''mipmaps :''' True to create a mip-map chain so the texture looks good when drawn at various sizes.
*'''mipmaps :''' Igaz, hogy létrehoz egy mip-map láncot, így a textúra jól néz ki, ha különböző méretekben rajzolódik ki.
*'''textureEdge :''' A string representing the desired texture edge handling, which can be one of:
*'''textureEdge :''' A string representing the desired texture edge handling, which can be one of:
**'''"wrap"''' : Wrap the texture at the edges (default)
**'''"wrap"''' : A textúra éleit befedi (alapértelmezett)
**'''"clamp"''' : Clamp the texture at the edges. This may help avoid edge artifacts.
**'''"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:
*'''textureType :''' A string representing the desired texture type, which can be one of:
**'''"2d"''' : Standard texture (default)
**'''"2d"''' : Standard texture (alapértelmezett)
**'''"3d"''' : Volume texture
**'''"3d"''' : Volume texture
**'''"cube"''' : Cube map
**'''"cube"''' : Cube map
Line 74: Line 75:


==Lásd még==
==Lásd még==
{{Drawing_functions}}
{{Drawing_functions hu}}


[[en:dxCreateTexture]]
[[en:dxCreateTexture]]

Latest revision as of 12:41, 23 October 2018

Ez function létrehoz egy textúra 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"]

A kockák és a nagy mennyiségű textúrák betöltésésre használhatjuk a dxCreateTexture-át, de ezeket csak az árnyéknál használhatóak. A Microsoft segédprogramokban DxTex megtekintheti és módosíthatja a kockákat és a nagy mennyiségű textúrákat. Valamint a DxTex a szabványos textúrákat DXT1/3/5-be tömörítheti .dds - melyek csökkentik a fájlméreteket.

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 legyenek (16, 32, 64 stb.), maximum 16384
  • height : A kívánt magasság, lehetőleg a kettő négyzetei legyenek (16, 32, 64 stb.), maximum 16384

Tetszőleges paraméterek

Megjegyzés: Amikor tetszőleges paramétereket használ, előfordulhat, hogy az összes paramétert meg kell adnia, mielőtt egyet is használna. További információkért látogassa meg a tetszőleges paraméterek oldalt.

  • textureFormat : Egy string, mely a kívánt textúra formátumot ábrázolja, melyek a következők lehetnek:
    • "argb" : ARGB tömörítetlen 32 bites szín (alapértelmezett).
    • "dxt1" : DXT1 tömörített - A betöltés tovább tarthat, mint a másodperc törtrésze (hacsak a fájl már nem DXT1 .dds). 8-szor kevesebb videó memóriát használ, mint az ARGB felgyorsíthatja a rajzolást. A minősége nem olyan jó, mint az ARGB-nél, és nem támogatja az alpha társítást.
    • "dxt3" : DXT3 tömörített - A betöltés tovább tarthat, mint a másodperc törtrésze (hacsak a fájl már nem DXT3 .dds). 4-szer kevesebb videó memóriát használ, mint az ARGB felgyorsíthatja a rajzolást. A minősége valamivel jobb, mint a DXT1 és támogatja az erős alpha társítást.
    • "dxt5" : DXT5 tömörített - A betöltés tovább tarthat, mint a másodperc törtrésze (hacsak a fájl már nem DXT5 .dds). 4-szer kevesebb videó memóriát használ, mint az ARGB felgyorsíthatja a rajzolást. A minősége valamivel jobb, mint a DXT1 és támogatja az egyenletes alpha társítást.
  • mipmaps : Igaz, hogy létrehoz egy mip-map láncot, így a textúra jól néz ki, ha különböző méretekben rajzolódik ki.
  • textureEdge : A string representing the desired texture edge handling, which can be one of:
    • "wrap" : A textúra éleit befedi (alapértelmezett)
    • "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 (alapértelmezett)
    • "3d" : Volume texture
    • "cube" : Cube map
  • depth: Desired number of slices when creating a volume texture

Visszatérési érték

Visszatérési értéke egy textúra, ha sikeres, false, ha érvénytelen paraméterek lettek megadva.

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