DxCreateShader: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 6: Line 6:
This function creates a [[shader]] element that can be used in the dxDraw functions.
This function creates a [[shader]] element that can be used in the dxDraw functions.


Note that successful shader creation is not guaranteed unless the [[shader|Effect File]] contains a fallback technique which will work on every PC in the universe. You should always check to see if this function has returned false.
Note that successful [[shader]] creation is not guaranteed unless the [[shader|Effect File]] contains a fallback technique which will work on every PC in the universe. You should always check to see if this function has returned false.


==Syntax==  
==Syntax==  
Line 19: Line 19:
*'''element:''' A [[shader]] element if successful, ''false'' if invalid arguments were passed to the function.
*'''element:''' A [[shader]] element if successful, ''false'' if invalid arguments were passed to the function.
*'''string:''' The name of the technique that will be used.
*'''string:''' The name of the technique that will be used.
==Usage restrictions==
* [[shader|Shaders]] can only be drawn during the [[onClientRender]] event.
* [[shader|Shaders]] can not be drawn post GUI. Setting ''postGUI'' to ''true'' in [[dxDrawImage]] or [[dxDrawImageSection]] will result in an error.


==Example==  
==Example==  

Revision as of 17:56, 15 June 2011

Only available in 1.1 This function creates a shader element that can be used in the dxDraw functions.

Note that successful shader creation is not guaranteed unless the Effect File contains a fallback technique which will work on every PC in the universe. You should always check to see if this function has returned false.

Syntax

element, string dxCreateShader ( string filepath )

Required Arguments

Returns

  • element: A shader element if successful, false if invalid arguments were passed to the function.
  • string: The name of the technique that will be used.

Usage restrictions

Example

addEventHandler( "onClientRender", root,
    function()
        if myShader then
            dxDrawImage( 100, 350, 300, 350, myShader )
        end
    end
)

-- Use 'toggle' command to switch shader on and off
addCommandHandler( "toggle",
    function()
        if not myShader then
            myShader = dxCreateShader( "fancything.fx" )  -- Create shader
        else        
            destroyElement( myShader )                    -- Destroy shader
            myShader = nil
        end
    end
)

See Also