Documentation de Gambas - /comp/gb.opengl.glsl/gl/createshader

/comp/gb.opengl.glsl/gl/createshader

# Gl.CreateShader (gb.opengl.glsl)

Static Function CreateShader ( ShaderType As Integer ) As Integer

### Crée un objet shader (reflet)

#### Paramètres

- ShaderType Spécifie le type de shader à créer. Doit être soit Gl.GL_VERTEX_SHADER soit Gl.GL_FRAGMENT_SHADER.

#### Description

Gl.CreateShader crée un objet shader vide et retourne une valeur non nulle par laquelle il peut être référencé. un objet shader est employé pour la maintenance des chaînes de code source qui définissent un shader. ShaderType indique le type de shader à créer. Deux types de shaders sont gérés. Un shader de type Gl.GL_VERTEX_SHADER est un shader destiné à tourner sur un processeur programmable de sommets et remplace les fonctionnalités fixes de processus de sommets dans OpenGL. Un shader de type Gl.GL_FRAGMENT_SHADER est un shader destiné à tourner sur un processeur programmable de fragment et remplace les fonctionnalités fixes de processus de fragment dans OpenGL

A sa création, un paramètre d’objet shader Gl.GL_SHADER_TYPE est positionné soit à Gl.GL_VERTEX_SHADER soit à Gl.GL_FRAGMENT_SHADER, selon la valeur de ShaderType.

Gl.CreateShader n’est disponible que pour les versions de GL 2.0 ou supérieures.

Comme les display lists et les objets texture, l’espace de nommage des programmes objets peut être partagé au travers d’un jeu de contextes, aussi longtemps que les côtés serveurs des contextes partagent le même espace d’adressage. Si l’espace de nommage est partagé au travers de contextes, tout objet attaché et les données associées avec ces objets attachés sont également partagées.

Les applications sont responsables de la fourniture de synchronisation à travers les appels d’API lorsque les objets sont accédés par l’exécution de différents threads.

#### Erreurs

- Cette fonction renvoie 0 si une erreur est survenue lors de la création de l’ objet shader.

- Gl.GL_INVALID_ENUM est générée si ShaderType n’est pas une valeur acceptée.

- Gl.GL_INVALID_OPERATION est générée si Gl.CreateShader est exécuté entre l’exécution de Gl.Begin et l’exécution correspondante de Gl.End.

#### _ Gets Associés

- Gl.GetShaderiv avec un objet shader valide et le paramètre à interroger

- Gl.GetShaderInfoLog avec un objet shader valide

- Gl.GetShaderSource avec un objet shader valide

- Gl.IsShader

### Voir aussi

- Gl.AttachShader,

- Gl.CompileShader,

- Gl.DeleteShader,

- Gl.DetachShader,

- Gl.ShaderSource