CreateShaderMaterial()

Syntax

Ergebnis = CreateShaderMaterial(#Material, ShaderID)
Beschreibung
Erstellt ein neues Shader-basiertes Material.

Parameter

#Material Eine Nummer zum Identifizieren des neuen Materials. #PB_Any kann verwendet werden, um diese Nummer automatisch zu generieren.
ShaderID Die Shader-ID. CreateShader() wird verwendet, um einen neuen Shader zu erstellen. Der ShaderID Parameter muss einen der folgenden Werte enthalten
- die ID des zuvor mit CreateShader() erstellten Shaders
- die ID eines vordefinierten Shaders:
  #PB_Material_ColorShader
  #PB_Material_PerpixelShader
  #PB_Material_BumpShader
  #PB_Material_SkyShader
  #PB_Material_WaterShader
  #PB_Material_WaterShaderRTT
  #PB_Material_OceanShader
  #PB_Material_PointSpriteSphereShader
  #PB_MaterialShader_CubicEnvShader
  #PB_MaterialShader_CubicEnvBumpShader
Beschreibung der vordefinierten Shader:
  ___________________________________________________________________________________________
  #PB_Material_ColorShader
  
  Effekt: einheitliche Farbe in 'perpixel'.
  
  Textur(en): keine
  
  MaterialShaderParameter: keiner
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, color)
  - MaterialShininess(#Material, Glanz, Glanzfarbe)
  - AmbiantColor
  - Fog
  - ScaleMaterial / ScrollMaterial / RotateMaterial
  
  ___________________________________________________________________________________________
  #PB_Material_PerpixelShader
  
  Effekt: Material in 'perpixel'
  
  Textur(en):
  - 0: sampler2D Farbe
  
  MaterialShaderParameter: keiner
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, color)
  - MaterialShininess(#Material, Glanz, Glanzfarbe)
  - LightAttenuation
  - AmbiantColor
  - Fog
  - ScaleMaterial / ScrollMaterial / RotateMaterial
  
  ___________________________________________________________________________________________
  #PB_Material_BumpShader
  
  Effekt: Material mit Relief
  
  Textur(en):
  - 0: sampler2D Farbe
  - 1: sampler2D normal
  
  MaterialShaderParameter:
  #PB_Shader_Fragment
  - float bumpy - Standardwert: 1 (Relief-Amplitude)

  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, color)
  - MaterialShininess(#Material, Glanz, Glanzfarbe)
  - LightAttenuation
  - AmbiantColor
  - Fog
  - ScaleMaterial / ScrollMaterial / RotateMaterial
  
  Hinweis(e):
  - die Tangenten müssen definiert werden (verwenden Sie 'BuildMeshTangent')
  ___________________________________________________________________________________________
  #PB_Material_SkyShader
  
  Effekt: zeigt einen Himmel mit Wolken und Sonne
  
  Textur(en)::
  - 0: einheitliche Sampler2D-Farbe (Wolken)
  
  MaterialShaderParameter:
  #PB_Shader_Fragment
   - vec3 speed - Standardwert: 10 0 0 (Geschwindigkeit der Wolken (X Z))
   - float height - Standardwert: 200 (Höhe der ersten Wolkenschicht)
   - int layer - Standardwert: 2 (Anzahl zusätzlicher Wolkenschichten)
   - float scale - Standardwert: 4000 (Texturskalierung)
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor, Farbe): Farbe des Sonnenhimmels im Zenit
  - SetMaterialColor(#Material, #PB_Material_DiffuseColor, Farbe): Farbe der Himmelssonne am Horizont
  - Fog
  
  ___________________________________________________________________________________________
  #PB_Material_WaterShader
  
  Effekt: ermöglicht die Anzeige einer Wasseroberfläche
  
  Textur(en):
  - 0: sampler2D normal
  
  MaterialShaderParameter:
  #PB_Shader_Fragment
  - float scale - Standardwert: 0.1 (Texturskala)
  - float height - Standardwert: 1 (Wellenhöhe)
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_DiffuseColor, Farbe): Wasserfarbe (Alpha: Deckkraft)
  - SetMaterialColor(#Material, #PB_Material_SpecularColor, Farbe): Reflexionsfarbe des Himmels
  - Fog
  
  ___________________________________________________________________________________________
  #PB_Material_WaterShaderRTT
  
  Effekt: ermöglicht die Darstellung einer Wasseroberfläche mit Spiegelung (über RTT)
  
  Textur(en):
  - 0: sampler2D normal
  - 1: sampler2D RTT (in Textur rendern)
  
  MaterialShaderParameter: keiner
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_DiffuseColor, Farbe): Wasserfarbe (Alpha: Deckkraft)
  - Fog
  - ScaleMaterial / ScrollMaterial / RotateMaterial
  
  ___________________________________________________________________________________________
  #PB_Material_OceanShader
  
  Effekt: ermöglicht die Darstellung einer Wasseroberfläche mit Wellen
  
  Textur(en):
  - 0: sampler2D normal
  - 1: sampler2D Farbe (Schaum)
  
  MaterialShaderParameter:
  #PB_Shader_Vertex
   - float wavebig - Standardwert: 0.5 (Wellenamplitude)
   - float swell - Standardwert: 0.5 (Anschwell-Amplitude)
  #PB_Shader_Fragment
  - float wavelittle - Standardwert: 0.5 (Amplitude von "kleinen" Wellen)
  - float foam - Standardwert: 0.5 (Schaum)
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor, Farbe): Wasserfarbe
  - SetMaterialColor(#Material, #PB_Material_DiffuseColor, Farbe): Farbe der Himmelsreflexion
  - Fog
  
  Hinweis(e):
  - der Alpha-Wert der Textur 'normal' enthält die Höhe der Welle
  
  ___________________________________________________________________________________________
  #PB_Material_PointSpriteSphereShader
  
  Effekt: zeigt Kugeln an den Scheitelpunkten des Meshes an
  
  Textur(en): keine
  
  MaterialShaderParameter: keiner
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Farbe)
  - MaterialShininess(#Material, Shininess, Glanzfarbe)
  - AmbientColor
  - Fog
  
  Hinweis(e):
  - das Material muss vom Typ PointSprite sein: SetMaterialAttribute(0, #PB_Material_PointSprite, 1)
  - das Mesh muss vom Typ PointList sein: CreateMesh(#Mesh, #PB_Mesh_PointList)
  - Der Radius der Kugel wird durch die Texturkoordinate U definiert
  - Die Farbe der Kugel wird durch die Scheitelpunktfarbe definiert
  Beispiel: MeshVertex(posX, posY, posZ, 10, 0, RGB(255,0,0))
  
  _______________________________________________________________________________________
  #PB_MaterialShader_CubicEnv
  
  Effekt: Reflexion über kubische Textur
  
  Textur(en):
  - 0: samplerCube Cubemap
  - 1: einheitliche sampler2D Farbe
  
  MaterialShaderParameter:
  #PB_Shader_Fragment
  - float glossy - Standardwert: 0.5 (Reflexionsintensität)
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Farbe)
  - AmbiantColor
  - Fog
  - ScaleMaterial / ScrollMaterial / RotateMaterial
  
  Hinweis(e):
  - kubische Texturen müssen eingespannt ('clamped') werden: SetMaterialAttribute(#Texture, #PB_Material_TAM, #PB_Material_ClampTAM)
  
  ___________________________________________________________________________________________
  #PB_MaterialShader_CubicEnvBump
  
  Effekt: Reflexion über kubische Textur mit Relief
  
  Textur(en):
  - 0: samplerCube Cubemap
  - 1: sampler2D Farbe
  - 2: sampler2D normal
  
  MaterialShaderParameter:
  #PB_Shader_Fragment
  - float glossy - Standardwert: 0.5 (Reflexionsintensität)
  - float bumpy - Standardwert: 1 (Relief-Amplitude)
  
  Unter Berücksichtigung von:
  - SetMaterialColor(#Material, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Farbe)
  - MaterialShininess(#Material, Shininess , Glanzfarbe)
  - AmbiantColor
  - Fog
  - ScaleMaterial / ScrollMaterial / RotateMaterial
  
  Hinweis(e):
  - kubische Texturen müssen eingespannt ('clamped') werden: SetMaterialAttribute(#Texture, #PB_Material_TAM, #PB_Material_ClampTAM)
  - die Tangenten müssen definiert sein (use 'BuildMeshTangent')

Rückgabewert

Ein Wert ungleich Null, wenn das Shader-basierte Material erfolgreich erstellt wurde, andernfalls Null. Wenn #PB_Any als Parameter #Material verwendet wurde, dann wird im Erfolgsfall die generierte Nummer zurückgegeben.

Unterstützte OS

Alle

<- CreateShader() - Material Inhaltsverzeichnis - DisableMaterialLighting() ->