CreateShader()

Syntax

Ergebnis = CreateShader(ShaderID, VertexProgramm$, FragmenteProgramm$)
Beschreibung
Erstellt einen neuen Shader mit den angegebenen Vertex- und Fragmentprogrammen.

Parameter

ShaderID Eine Zahl zwischen 0 und 65536, um den neuen Shader zu identifizieren. Um einen der vordefinierten Shader auszuwählen, verwenden Sie einen der folgenden Werte als 'ShaderID' (VertexProgramm$ und FragmentProgramm$ Parameter werden ignoriert):
  #PB_Material_ColorShader
  #PB_Material_PerpixelShader
  #PB_Material_BumpShader
  #PB_Material_SkyShader
  #PB_Material_WaterShader
  #PB_Material_WaterShaderRTT
  #PB_Material_OceanShader
  #PB_Material_PointSpriteSphereShader
VertexProgramm$ Das für Vertexe (Scheitelpunkte) zu verwendende GLSL-Programm.
FragmenteProgramm$ Das für Fragmente zu verwendende GLSL-Programm.

Rückgabewert

Ein Wert ungleich Null, wenn der Shader erfolgreich erstellt wurde, andernfalls Null.

Anmerkungen

Shader müssen normalerweise Parameter erhalten, um zu funktionieren, und zwei Funktionen ermöglichen die Übergabe dieser Parameter: MaterialShaderAutoParameter() (automatischer Parameter) und MaterialShaderParameter() (Shader-Parameter).
PureBasic ermöglicht es auch, diese Parameter direkt in den Shader-Programmen einzustellen, indem am Ende der 'uniform' Deklarationszeile folgendes hinzugefügt wird: "//" gefolgt von entweder:
- die Auto-Parameternummer mit vorangestelltem "+" (vgl. 'ParameterTyp'-Konstanten der Funktion MaterialShaderAutoParameter()).
- ein oder mehrere Werte (durch Leerzeichen getrennt), entsprechend dem Shader-Parameter (MaterialShaderParameter()).

Beispiel:
uniform vec4 camera_pos;//+76 <- automatischer Parameter #PB_Shader_CameraPosition
uniform vec4 fog_params;//+31 <- automatischer Parameter #PB_Shader_FogParams
uniform vec3 speed;//0.5 1 0 <- Shader-Parameter 'speed'
uniform sampler2D diffuseMap;//1 <- Shader-Parameter Textur-Nummer

Siehe auch

CreateShaderMaterial(), MaterialShaderAutoParameter(), MaterialShaderParameter()

Unterstützte OS

Alle

<- CreateMaterial() - Material Inhaltsverzeichnis - CreateShaderMaterial() ->