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_CubicEnvBumpShaderBeschreibung 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