DxSetBlendMode
This function sets the current blend mode for the dxDraw functions. Changing the blend mode can increase the quality when drawing text or certain other images to a render target. As a general guide use modulate_add when drawing text to a render target, and add when drawing the render target to the screen. Don't forget to restore the default blend at the end - See the example below.
Syntax
bool dxSetBlendMode ( string blendMode )
Required Arguments
- blendMode : The blend mode to use which can be one of:
- blend: The source textures are alpha blended to the screen/render target. The is the default mode for drawing and gives the results we all know and love.
- add: The source textures are added to the screen/render target.
- modulate_add: The source textures are multiplied by the alpha and then added to the screen/render target.
Returns
Returns true if successful, or false if invalid arguments were passed to the function.
Example
This example shows how to use modulate_add and add to avoid quality problems when using a render target:
local myRenderTarget = dxCreateRenderTarget(500, 500, true) -- Function to draw text to our render target texture when the 'r' key is pressed function updateRenderTarget() dxSetRenderTarget(myRenderTarget, true) dxSetBlendMode("modulate_add") -- Set 'modulate_add' when drawing stuff on the render target dxDrawText("Testing "..getTickCount(), 0, 0, 0, 0, tocolor(255, 255, 255, 255), 2, "Verdana") dxSetBlendMode("blend") -- Restore default blending dxSetRenderTarget() -- Restore default render target end bindKey("r", "down", updateRenderTarget ) -- Display render target contents addEventHandler("onClientRender", root, function() dxSetBlendMode("add") -- Set 'add' when drawing the render target on the screen dxDrawImage(100, 200, 500, 500, myRenderTarget, -10) dxSetBlendMode("blend") -- Restore default blending end )
Requirements
Minimum server version | n/a |
---|---|
Minimum client version | 1.3.0-9.03782 |
Note: Using this feature requires the resource to have the above minimum version declared in the meta.xml <min_mta_version> section. e.g. <min_mta_version client="1.3.0-9.03782" />
Changelog
Version | Description |
---|
1.3.0-9.04425 | Added overwrite |
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