CreateShaderMaterial()
Syntaxe
Resultat = CreateShaderMaterial(#Matiere, ShaderID)Description
Crée une nouvelle matière basée sur le shader.
Arguments
#Matiere La nouvelle matière.
#PB_Any peut être utilisé pour générer automatiquement ce numéro.ShaderID L'identifiant du shader.
CreateShader() peut être utilisée pour créer un nouveau shader.
ShaderID doit contenir soit
- l'ID d'un shader préalablement créé avec CreateShader()
- l'ID d'un shader prédéfini :
#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_CubicEnvBumpShaderDescription des shaders prédéfinis:___________________________________________________________________________________________ #PB_Material_ColorShader Effet : Couleur uniforme en 'perpixel'. texture : Aucune MaterialShaderParameter : Aucun Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Couleur) - MaterialShininess(#Matiere, Brillance , CouleurSpeculaire) - Couleur Ambiante - Brouillard - ScaleMaterial / ScrollMaterial / RotateMaterial ___________________________________________________________________________________________ #PB_Material_PerpixelShader Effet : Matière en 'perpixel' texture : - 0: Couleur sampler2D MaterialShaderParameter : Aucun Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Couleur) - MaterialShininess(#Matiere, Brillance , CouleurSpeculaire) - Atténuation de la lumière - Couleur Ambiante - Brouillard - ScaleMaterial / ScrollMaterial / RotateMaterial ___________________________________________________________________________________________ #PB_Material_BumpShader Effet : Matière avec relief textures : - 0: Couleur sampler2D - 1: Sampler2D normal MaterialShaderParameter : #PB_Shader_Fragment - float bumpy - valeur par défaut: 1 (amplitude du relief) Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Couleur) - MaterialShininess(#Matiere, Brillance , CouleurSpeculaire) - Atténuation de la lumière - Couleur Ambiante - Brouillard - ScaleMaterial / ScrollMaterial / RotateMaterial Remarque: - Les tangentes doivent être définies (utiliser 'BuildMeshTangent') ___________________________________________________________________________________________ #PB_Material_SkyShader Effet : Affiche un ciel avec des nuages etun soleil texture : - 0: Couleur uniforme sampler2D (nuages) MaterialShaderParameter : #PB_Shader_Fragment - vec3 speed - Valeur par défaut : 10 0 0 (vitesse des nuages (X Z)) - float height - Valeur par défaut : 200 (hauteur de la 1ère couche nuageuse) - int layer - Valeur par défaut : 2 (nombre de couches nuageuses supplémentaires) - float scale - Valeur par défaut : 4000 (échelle de texture) Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor, Couleur) : Couleur du ciel ensoleillé au zénith - SetMaterialColor(#Matiere, #PB_Material_DiffuseColor, Couleur) : Couleur du ciel ensoleillé à l'horizon - Brouillard ___________________________________________________________________________________________ #PB_Material_WaterShader Effet : Permet d'afficher une surface d'eau texture : - 0: Sampler2D normal MaterialShaderParameter : #PB_Shader_Fragment - float scale - Valeur par défaut : 0.1 (échelle de texture) - float height - Valeur par défaut : 1 (hauteur des vagues) Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_DiffuseColor, Couleur) : Couleur de l'eau (Alpha : opacité) - SetMaterialColor(#Matiere, #PB_Material_SpecularColor, color) : Couleur de réflexion du ciel - Brouillard ___________________________________________________________________________________________ #PB_Material_WaterShaderRTT Effet : Permet d'afficher une surface d'eau avec réflexion (via RTT) textures : - 0 : Sampler2D normal - 1 : Sampler2D RTT (rendu sur texture) MaterialShaderParameter : Aucun Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_DiffuseColor, Couleur) : Couleur de l'eau (Alpha : opacité) - Brouillard - ScaleMaterial / ScrollMaterial / RotateMaterial ___________________________________________________________________________________________ #PB_Material_OceanShader Effet : Permet d'afficher une surface d'eau avec des vagues textures : - 0: Sampler2D normal - 1: Couleur sampler2D (écume) MaterialShaderParameter : #PB_Shader_Vertex - float wavebig - Valeur par défaut : 0.5 (amplitude des vagues) - float swell - Valeur par défaut : 0.5 (amplitude de la houle) #PB_Shader_Fragment - float wavelittle - Valeur par défaut : 0.5 (amplitude des "petites" vagues) - float foam - Valeur par défaut : 0.5 (écume) Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor, Couleur) : Couleur de l'eau - SetMaterialColor(#Matiere, #PB_Material_DiffuseColor, Couleur) : Couleur du reflet du ciel - Brouillard Remarque: - La valeur alpha de la texture 'normale' contient la hauteur de la vague ___________________________________________________________________________________________ #PB_Material_PointSpriteSphereShader Effet : Affiche les sphères aux sommets du maillage (mesh) texture(s) : Aucune MaterialShaderParameter : Aucun Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Couleur) - MaterialShininess(#Matiere, Brillance , CouleurSpeculaire) - AmbientColor - Brouillard Remarques : - La matière doit être de type PointSprite : SetMaterialAttribute(0,#PB_Material_PointSprite,1) - Le maillage (mesh) doit être de type PointList : CreateMesh(#Mesh,#PB_Mesh_PointList) - Le rayon de la sphère est défini par la coordonnée U de la texture - La couleur de la sphère est définie par la couleur du sommet (vertex) Exemple: MeshVertex(posX, posY, posZ, 10, 0,RGB(255,0,0)) _______________________________________________________________________________________ #PB_MaterialShader_CubicEnv Effet : Réflexion via une texture cubique textures : - 0: SamplerCube cubemap - 1: Couleur uniforme sampler2D MaterialShaderParameter : #PB_Shader_Fragment - float glossy - Valeur par défaut : 0.5 (intensité du reflet) Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Couleur) - Couleur Ambiante - Brouillard - ScaleMaterial / ScrollMaterial / RotateMaterial Remarque : - Les textures cubiques doivent être "clampées": SetMaterialAttribute(#texture, #PB_Material_TAM, #PB_Material_ClampTAM) ___________________________________________________________________________________________ #PB_MaterialShader_CubicEnvBump Effet : Réflexion avec texture cubique en relief textures : - 0: samplerCube cubemap - 1: Couleur sampler2D - 2: Sampler2D normal MaterialShaderParameter : #PB_Shader_Fragment - float glossy - Valeur par défaut : 0.5 (intensité du reflet) - float bumpy - Valeur par défaut : 1 (amplitude du reflet) Prise en compte de : - SetMaterialColor(#Matiere, #PB_Material_AmbientColor|#PB_Material_DiffuseColor, Couleur) - MaterialShininess(#Material, Shininess, SpecularColor) - Couleur Ambiante - Brouillard - ScaleMaterial / ScrollMaterial / RotateMaterial Remarques : - Les textures cubiques doivent être "clampées" : SetMaterialAttribute(#texture, #PB_Material_TAM, #PB_Material_ClampTAM) - Les tangentes doivent être définies (utiliser 'BuildMeshTangent')
Valeur de retour
Renvoie une valeur non nulle si la matière basée sur le shader a été créé avec succès, zéro sinon.
Si #PB_Any a été utilisé pour le paramètre #Matiere, le nombre généré est renvoyé en cas de succès.
OS Supportés
Tous