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

/comp/gb.opengl.glsl/gl/createprogram

# Gl.CreateProgram (gb.opengl.glsl)

Static Function CreateProgram ( ) As Integer

Crée un objet programme

### Description

Gl.CreateProgram crée un objet programme vide et retourne une valeur non nulle par laquelle il peut être référencé. Un objet programme est un objet auquel les objets reflet (shader) peuvent être attachés. Cela fournit un mécanisme pour spécifier les objets reflet qui seront liés pour créer un programme. C’est également un moyen de tester la compatibilité des shaders qui seront utilisés pour créer un programme (par exemple, vérifier la compatibilité entre un shader de sommets et un shader de fragments). Quand ils ne sont plus nécessaires en tant que partie d'objet programme, les objets shader peuvent être détachés.

Un exécutable est créé, ou plus, dans un objet programme en lui rattachant avec succès des objets shader par Gl.AttachShader, en réussissant à compiler les objets shader via Gl.CompileShader, et en liant avec succès l'objet programme par Gl.LinkProgram. Ces exécutables font partie de l’état courant lorsque Gl.UseProgram est appelé. Les objets programme peuvent être effacés par appel à Gl.DeleteProgram. La mémoire associée a l'objet programme sera effacée quand il ne fera plus partie de l’état de rendu courant pour quelque contexte que ce soit.

### Notes

Comme les display lists et les objets texture, l’espace de nommage des objets programme 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 programme .

### Gets Associés

Gl.Get avec l’argument Gl.CURRENT_PROGRAM

Gl.GetActiveAttrib avec un programme objet valide et l’index d’une variable attribut active

Gl.GetActiveUniform avec un programme objet valide et l’index d’une variable uniform active

Gl.GetAttachedShaders avec un objet programme valide

Gl.GetAttribLocation avec un programme objet valide et le nom d’une variable attribut

Gl.GetProgram avec un objet programme valide et le paramètre à requérir

Gl.GetProgramInfoLog avec un objet programme valide

Gl.GetUniform avec un objet programme valide et l’emplacement d’une variable uniform

Gl.GetUniformLocation with avec un objet programme valide et le nom d’une variable uniform

Gl.IsProgram

### Voir aussi

- Gl.AttachShader,

- Gl.BindAttribLocation,

- Gl.CreateShader,

- Gl.DeleteProgram,

- Gl.DetachShader,

- Gl.LinkProgram,

Gl.uniform,

- Gl.useProgram,

- Gl.ValidateProgram

Voir la documentation originale sur le site OpenGL