MaterialShaderAutoParameter()
Syntax
MaterialShaderAutoParameter(#Material, ProgramType, ParameterName$, ParameterType, ExtraValue.f)Description
Set a parameter value for the shader based material previous created with CreateShaderMaterial().
Parameters
#Material The material to use. ProgramType Program type. It can be one of the following values: #PB_Shader_Vertex : use the vertex program. #PB_Shader_Fragment: use the fragment program.ParameterName$ Name of the parameter with the GLSL program to use. ParameterType Parameter type. It can be one of the following values: #PB_Shader_AmbientLightColour #PB_Shader_AnimationParametric #PB_Shader_CameraPosition #PB_Shader_CameraPositionObjectSpace #PB_Shader_Costime02pi #PB_Shader_Costime0X #PB_Shader_Custom #PB_Shader_DerivedAmbientLightColour #PB_Shader_DerivedLightDiffuseColour #PB_Shader_DerivedLightDiffuseColourArray #PB_Shader_DerivedLightSpecularColour #PB_Shader_DerivedLightSpecularColourArray #PB_Shader_DerivedSceneColour #PB_Shader_FarClipDistance #PB_Shader_FogColour #PB_Shader_Fov #PB_Shader_Fps #PB_Shader_Fragment #PB_Shader_Integer #PB_Shader_InverseProjectionMatrix #PB_Shader_InverseTextureSize #PB_Shader_InverseTransposeProjectionMatrix #PB_Shader_InverseTransposeViewMatrix #PB_Shader_InverseTransposeViewprojMatrix #PB_Shader_InverseTransposeWorldMatrix #PB_Shader_InverseTransposeWorldviewMatrix #PB_Shader_InverseTransposeWorldviewprojMatrix #PB_Shader_InverseViewMatrix #PB_Shader_InverseViewportHeight #PB_Shader_InverseViewportWidth #PB_Shader_InverseViewprojMatrix #PB_Shader_InverseWorldMatrix #PB_Shader_InverseWorldviewMatrix #PB_Shader_InverseWorldviewprojMatrix #PB_Shader_LightAttenuation #PB_Shader_LightAttenuationArray #PB_Shader_LightCastsShadows #PB_Shader_LightCount #PB_Shader_LightCustom #PB_Shader_LightDiffuseColour #PB_Shader_LightDiffuseColourArray #PB_Shader_LightDiffuseColourPowerScaled #PB_Shader_LightDiffuseColourPowerScaledArray #PB_Shader_LightDirection #PB_Shader_LightDirectionArray #PB_Shader_LightDirectionObjectSpace #PB_Shader_LightDirectionObjectSpaceArray #PB_Shader_LightDirectionViewSpace #PB_Shader_LightDirectionViewSpaceArray #PB_Shader_LightDistanceObjectSpace #PB_Shader_LightDistanceObjectSpaceArray #PB_Shader_LightNumber #PB_Shader_LightPosition #PB_Shader_LightPositionArray #PB_Shader_LightPositionObjectSpace #PB_Shader_LightPositionObjectSpaceArray #PB_Shader_LightPositionViewSpace #PB_Shader_LightPositionViewSpaceArray #PB_Shader_LightPowerScale #PB_Shader_LightPowerScaleArray #PB_Shader_LightSpecularColour #PB_Shader_LightSpecularColourArray #PB_Shader_LightSpecularColourPowerScaled #PB_Shader_LightSpecularColourPowerScaledArray #PB_Shader_LodCameraPosition #PB_Shader_LodCameraPositionObjectSpace #PB_Shader_NearClipDistance #PB_Shader_PackedTextureSize #PB_Shader_PassIterationNumber #PB_Shader_PassNumber #PB_Shader_ProjectionMatrix #PB_Shader_SceneDepthRange #PB_Shader_ShadowColour #PB_Shader_ShadowExtrusionDistance #PB_Shader_ShadowSceneDepthRange #PB_Shader_Sintime01 #PB_Shader_Sintime02pi #PB_Shader_Sintime0X #PB_Shader_SpotlightParams #PB_Shader_SpotlightParamsArray #PB_Shader_SpotlightViewprojMatrix #PB_Shader_SpotlightViewprojMatrixArray #PB_Shader_SpotlightWorldviewprojMatrix #PB_Shader_SurfaceAmbientColour #PB_Shader_SurfaceDiffuseColour #PB_Shader_SurfaceEmissiveColour #PB_Shader_SurfaceShininess #PB_Shader_SurfaceSpecularColour #PB_Shader_Tantime01 #PB_Shader_Tantime02pi #PB_Shader_Tantime0X #PB_Shader_TexelOffsets #PB_Shader_TextureMatrix #PB_Shader_TextureSize #PB_Shader_TextureViewprojMatrix #PB_Shader_TextureViewprojMatrixArray #PB_Shader_TextureWorldviewprojMatrixArray #PB_Shader_Time #PB_Shader_Time01 #PB_Shader_Time01Packed #PB_Shader_Time02pi #PB_Shader_Time02piPacked #PB_Shader_Time0X #PB_Shader_Time0XPacked #PB_Shader_TransposeProjectionMatrix #PB_Shader_TransposeViewMatrix #PB_Shader_TransposeViewprojMatrix #PB_Shader_TransposeWorldMatrix #PB_Shader_TransposeWorldviewMatrix #PB_Shader_TransposeWorldviewprojMatrix #PB_Shader_Vector3 #PB_Shader_Vector4 #PB_Shader_Vertex #PB_Shader_VertexWinding #PB_Shader_ViewDirection #PB_Shader_ViewMatrix #PB_Shader_ViewportSize #PB_Shader_ViewportWidth #PB_Shader_ViewprojMatrix #PB_Shader_ViewSideVector #PB_Shader_ViewUpVector #PB_Shader_WorldDualquaternionArray2x4 #PB_Shader_WorldMatrix #PB_Shader_WorldMatrixArray #PB_Shader_WorldMatrixArray3x4 #PB_Shader_WorldviewMatrix #PB_Shader_WorldviewprojMatrixExtraValue Extra value passed to the program parameter.
Return value
None.
Remarks
The automatic parameters correspond to the parameters of the 3D engine (positions of the camera, lights, color of the material, fog...) this function allows to make the link between the 'uniform' variable of the shader and these parameters.
Example
MaterialShaderAutoParameter(#Material, #PB_Shader_Fragment, #PB_Shader_CameraPosition, "camerapos", 0)
See Also
CreateShaderMaterial()
Supported OS
All