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

/comp/gb.opengl.glsl/gl/attachshader

# Gl.AttachShader (gb.opengl.glsl)

Static Sub AttachShader ( Program As Integer, Shader As Integer )

Attache un objet shader à un objet programme

### Paramètres

Program

  Spécifie l'objet programme auquel l’objet shader sera rattaché.

shader

  Spécifie l’objet shader à attacher.

### Description

Pour créer un exécutable, il faut un moyen de spécifier la liste des choses qui seront liées ensemble. Les objets Programme fournissent ce mécanisme. Les Shaders qui ne sont pas liés ensemble au sein d’un objet programme doivent d’abord être attachés à cet objet programme . Gl.AttachShader attache l’objet shader spécifié par Shader a l'objet programme spécifié par Program. Ceci indique que ce shader sera inclus lors des opérations de liaison qui seront réalisées sur Program.

Toutes les opérations qui peuvent être réalisées sur un objet shader sont valides, que l’objet shader soit attaché ou non à un objet programme . Il est permis d’attacher un objet shader à un objet programme avant que le code source ait été chargé dans l’objet shader ou avant qu’il ait été compilé. Il est permis d’attacher de multiples objets shader du même type car chacun peut contenir une portion du shader complet. Il est également permis d’attacher un objet shader à plus d’un objet programme . Si un objet shader est effacé alors qu’il est attaché à un objet programme, il sera marqué pour effacement, et l’effacement ne surviendra pas avant que Gl.DetachShader soit appelé pour le détacher de tous les objets programme auquel il est rattaché.

### Erreurs

Gl.GL_INVALID_VALUE est générée si Program ou/et Shader ne sont pas des valeurs générées par OpenGL.

Gl.INVALID_OPERATION est générée si Program n’est pas un objet programme .

Gl.INVALID_OPERATION est générée si Shader n’est pas un objet shader.

Gl.INVALID_OPERATION est générée si Shader est déjà attaché à Program.

### Gets Associés

- Gl.GetAttachedShaders avec le gestionnaire d’un objet programme valide

- Gl.IsProgram

- Gl.IsShader

### Voir aussi

- Gl.CompileShader,

- Gl.CreateShader,

- Gl.DeleteShader,

- Gl.DetachShader,

- Gl.LinkProgram,

- Gl.ShaderSource

Voir documentation originae sur le site OpenGL