CreateShader()

Syntaxe

Resultat = CreateShader(ShaderID, ProgrammeVertex$, ProgrammeFragment$)
Description
Crée un nouveau shader en utilisant les programmes de vertex et de fragments spécifiés.

Arguments

ShaderID Un nombre entre 0 et 65536 identifie le nouveau shader.
ProgrammeVertex$ Le programme GLSL à utiliser pour les sommets (vertices).
ProgrammeFragment$ Le programme GLSL à utiliser pour les fragments.

Valeur de retour

Renvoie une valeur non nulle si le shader a été créé avec succès, zéro sinon.

Remarques

Les shaders ont généralement besoin de recevoir des paramètres pour fonctionner et deux fonctions permettent de passer ces paramètres : MaterialShaderAutoParameter() (paramètre automatique) et MaterialShaderParameter() (paramètre shader).
PureBasic permet également de définir ces paramètres directement dans les programmes de shaders en ajoutant à la fin de la ligne de déclaration 'uniform' : "//" suivi soit de :
- le numéro du paramètre auto précédé d'un "+" (cf. les constantes 'ParameterType' de la fonction MaterialShaderAutoParameter()).
- une ou plusieurs valeurs (séparées par un espace) correspondant au paramètre du shader (MaterialShaderParameter()).

Exemple :
uniform vec4 camera_pos;//+76 <- paramètre automatique #PB_Shader_CameraPosition
uniform vec4 fog_params ;//+31 <- paramètre automatique #PB_Shader_FogParams
uniform vec3 speed;//0.5 1 0 <- paramètre de shader 'speed'
uniform sampler2D diffuseMap;//1 <- shader paramètre texture number

Voir aussi

CreateShaderMaterial(), MaterialShaderAutoParameter(), MaterialShaderParameter()

OS Supportés

Tous

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