DxSetShaderValue: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
(Added an important note (It's enough to set the texture only once because of the way dxSetShaderValue works))
No edit summary
(3 intermediate revisions by 2 users not shown)
Line 3: Line 3:
This sets a named parameter for a [[shader]] element
This sets a named parameter for a [[shader]] element


{{Important Note|It's enough to set the texture only once because of the way dxSetShaderValue works}}
{{Important Note|It's enough to set the texture only once if it's a render target}}


==Syntax==  
==Syntax==  
Line 31: Line 31:
==See Also==
==See Also==
{{Drawing_functions}}
{{Drawing_functions}}
[[hu:dxSetShaderValue]]

Revision as of 22:23, 23 December 2018

This sets a named parameter for a shader element


[[{{{image}}}|link=|]] Important Note: It's enough to set the texture only once if it's a render target

Syntax

bool dxSetShaderValue ( element theShader, string parameterName, mixed value )

OOP Syntax Help! I don't understand this!

Method: shader:setValue(...)


Required Arguments

  • theShader: The shader element whose parameter is to be changed
  • parameterName: The name of parameter
  • value: The value to set, which can be a texture, a bool, a number or a list of numbers(max 16 floats(numbers))

Returns

Returns true if the shader element's parameter was successfully changed, false otherwise.

Example

myShader = dxCreateShader( "hello.fx" )
myTexture = dxCreateTexture( "man.png" )
dxSetShaderValue( myShader, "texure0", myTexture )                -- Set a texture
dxSetShaderValue( myShader, "bShowThing", true )                  -- Set a bool                  
dxSetShaderValue( myShader, "speed", 2.4 )                        -- Set a float
dxSetShaderValue( myShader, "positionOfCheese", 100, 200, 300 )   -- Set a list of numbers, with max 16 numbers. Btw, this is a float: 3.4

See Also