MaterialShaderAutoParameter()

Syntax

MaterialShaderAutoParameter(#Material, ProgrammTyp, ParameterName$, ParameterTyp, ExtraWert.f)
Beschreibung
Legt einen Parameterwert für das Shader-basierte Material fest, das zuvor mit CreateShaderMaterial() erstellt wurde.

Parameter

#Material Das zu verwendende Material.
ProgrammTyp Der Programm-Typ. Dies kann einer der folgenden Werte sein:
  #PB_Shader_Vertex  : verwendet das Vertex-Programm.
  #PB_Shader_Fragment: verwendet das Fragment-Programm.
ParameterName$ Name des Parameters mit dem zu verwendenden GLSL-Programm.
ParameterTyp Der Parameter-Typ. Dies kann einer der folgenden Werte sein:
  #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_WorldviewprojMatrix
ExtraWert Extra-Wert, der an den Programmparameter übergeben wird.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Anmerkungen

Die automatischen Parameter entsprechen den Parametern der 3D-Engine (Positionen der Kamera, Lichter, Materialfarbe, Nebel...). Diese Funktion ermöglicht es, die Verbindung zwischen der 'einheitlichen' Variable des Shaders und diesen Parametern herzustellen.

Beispiel

  MaterialShaderAutoParameter(#Material, #PB_Shader_Fragment, #PB_Shader_CameraPosition, "camerapos", 0)

Siehe auch

CreateShaderMaterial()

Unterstützte OS

Alle

<- MaterialID() - Material Inhaltsverzeichnis - MaterialShaderParameter() ->