DxCreateRenderTarget: Difference between revisions
No edit summary |
No edit summary |
||
Line 25: | Line 25: | ||
What is a rendertarget? | What is a rendertarget? | ||
A rendertarget is like a big, white paper(or if you set alpha to true, it will be a transparent paper) that you can draw on, | A rendertarget is like a big, white paper(or if you set alpha to true, it will be a transparent paper) that you can draw on, | ||
after you | after you drawn on it, you can draw it as many times as you like, without impacting performance. It could be used for | ||
dashboard, where a few hundred dxDraw* functions are called, so, instead of calling these every frame, you can just | dashboard, where a few hundred dxDraw* functions are called, so, instead of calling these every frame, you can just | ||
draw it on a render target, and draw the render target, instead of every information one by one. | draw it on a render target, and draw the render target, instead of every information one by one. |
Revision as of 10:25, 18 July 2018
This function creates a render target element, which is a special type of texture that can be drawn on with the dx functions. Successful render target creation is not guaranteed, and may fail due to hardware or memory limitations.
To see if creation is likely to fail, use dxGetStatus. (When VideoMemoryFreeForMTA is zero, failure is guaranteed.)
Tip: It is highly recommended that dxSetTestMode is used when writing and testing scripts using dxCreateRenderTarget. |
Syntax
element dxCreateRenderTarget ( int width, int height [, bool withAlpha = false ] )
OOP Syntax Help! I don't understand this!
- Method: DxRenderTarget(...)
Required Arguments
- width : The width of the texture in pixels.
- height : The height of the texture in pixels.
- withAlpha: The render target will be created with an alpha channel.
Returns
Returns a texture element if successful, false if the system is unable to create a render target.
You should always check to see if this function has returned false.
Explanation
What is a rendertarget? A rendertarget is like a big, white paper(or if you set alpha to true, it will be a transparent paper) that you can draw on, after you drawn on it, you can draw it as many times as you like, without impacting performance. It could be used for dashboard, where a few hundred dxDraw* functions are called, so, instead of calling these every frame, you can just draw it on a render target, and draw the render target, instead of every information one by one.
Example
addEventHandler("onClientResourceStart", resourceRoot, function() myRenderTarget = dxCreateRenderTarget( 80, 100 ) -- Create a render target texture which is 80 x 100 pixels end ) addEventHandler( "onClientRender", root, function() if myRenderTarget then dxSetRenderTarget( myRenderTarget ) -- Start drawing on myRenderTarget dxDrawText ( "Hello", 10, 20 ) -- Draw a message dxSetRenderTarget() -- Stop drawing on myRenderTarget dxDrawImage( 50, 50, 100, 100, myRenderTarget ) -- Now use myRenderTarget as a material and draw it lots of times dxDrawImage( 150, 350, 150, 100, myRenderTarget ) dxDrawImage( 250, 250, 100, 150, myRenderTarget ) dxDrawImage( 350, 30, 150, 150, myRenderTarget ) end end )
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