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