Gambas Documentation
Aperçu du Langage
À traduire
Code Snippets
Comment faire ...
Compilation et installation
Composants
gb
gb.args
gb.cairo
gb.clipper
gb.complex
gb.compress
gb.crypt
gb.db
gb.db.form
gb.dbus
gb.debug
gb.desktop
gb.desktop.gnome.keyring
gb.eval
gb.eval.highlight
gb.form
gb.form.dialog
gb.form.editor
gb.form.mdi
gb.gmp
gb.gsl
gb.gtk
gb.gtk3
gb.gui
gb.image
gb.image.effect
gb.image.imlib
gb.image.io
gb.inotify
gb.libxml
gb.media
gb.mysql
gb.net
gb.net.curl
gb.net.smtp
gb.openal
gb.opengl
gb.opengl.glsl
Gl
AttachShader
CompileShader
CreateProgram
CreateShader
DeleteProgram
DeleteShader
DetachShader
GetAttachedShaders
GetProgramInfoLog
GetProgramiv
GetShaderInfoLog
GetShaderiv
GetShaderSource
IsProgram
IsShader
LinkProgram
ShaderSource
Uniform1f
Uniform1fv
Uniform1i
Uniform1iv
Uniform2f
Uniform2fv
Uniform2i
Uniform2iv
Uniform3f
Uniform3fv
Uniform3i
Uniform3iv
Uniform4f
Uniform4fv
Uniform4i
Uniform4iv
UniformMatrix2fv
UniformMatrix2x3fv
UniformMatrix2x4fv
UniformMatrix3fv
UniformMatrix3x2fv
UniformMatrix3x4fv
UniformMatrix4fv
UniformMatrix4x2fv
UniformMatrix4x3fv
UseProgram
ValidateProgram
VertexAttrib1f
VertexAttrib1fv
VertexAttrib2f
VertexAttrib2fv
VertexAttrib3f
VertexAttrib3fv
VertexAttrib4f
VertexAttrib4fv
gb.opengl.glu
gb.opengl.sge
gb.option
gb.pcre
gb.pdf
gb.qt4
gb.qt4.ext
gb.qt4.opengl
gb.qt4.webkit
gb.qt5
gb.qt5.opengl
gb.report
gb.scanner
gb.sdl
gb.sdl.sound
gb.settings
gb.signal
gb.util
gb.util.web
gb.v4l
gb.vb
gb.web
gb.web.feed
gb.xml
gb.xml.html
gb.xml.rpc
gb.xml.xslt
Controls pictures
Derniers changements
Dépôt d'applications
Documentation de l'Environnement de développement
Documentation des développeurs
Documents
Indenter
Index de tous les Documents
Index du langage
Lexique
LISEZ-MOI
Manuel du wiki
Messages d'erreur
Tutoriels
Wiki License

Gl.VertexAttrib3f (gb.opengl.glsl)

Static Sub VertexAttrib3f ( Index As Integer, X As Float, Y As Float, Z As Float )

Spécifie la valeur des attributs d’un sommet générique.

Paramètres

index

Spécifie l’indice de l’attribut du sommet générique à modifier.
v0, v1, v2, v3

Spécifie la nouvelle valeur de l’attribut spécifié à employer.

Paramètres

index

Spécifie l’indice de l’attribut du sommet générique à modifier.
v

Spécifie un pointeur vers un tableau de valeurs à utiliser pour l’attribut de sommet.

Paramètres

index

Spécifie l’indice de l’attribut du sommet générique à modifier.
type

Type de compactage employé pour les données. Ce paramètre doit être Gl.INT_10_10_10_2 ou Gl.UNSIGNED_INT_10_10_10_2 pour spécifier des données respectivement signées ou non.
normalized

Si Gl.TRUE, les valeurs doivent être alors converties en valeurs flottantes par normalisation. Sinon, elles sont directement converties en valeurs flottantes.
value

Spécifie la nouvelle valeur compactée à utiliser pour l’attribut de sommet spécifié.

Description

OpenGL définit un nombre d’attributs de sommet standard que les applications peuvent modifier via les points d’entrée standard de l’API (couleur, normal, coordonnées de texture, etc.). La famille de points d’entrée Gl.VertexAttrib permet à une application de passer des attributs de sommet générique en de nombreux emplacements.

Les attributs générique sont définis par des valeurs à quatre composantes organisées en tableau. La première entrée de ce tableau est numérotée 0, et la taille du tableau est spécifiée par une constante dépendante de l’implémentation Gl.MAX_VERTEX_ATTRIBS. Les éléments individuels de ce tableau peuvent être modifiés via un appel à GlVERTEXAttrib qui spécifie l’indice de l’élément à modifier et une valeur pour cet élément.

Ces commandes peuvent être employées pour spécifier une, deux, trois ou toutes les quatre composantes des attributs de sommet générique spécifiées par index. Un 1 dans le nom de la commande indique que seule une valeur est passée, et ce sera utilisé pour modifier la première composant de l’attribut de sommet générique. Les deuxièmes et troisièmes composantes seront mises à 0, et la quatrième composante sera mise à 1. Similairement, un 2 dans le nom de la commande indique que les valeurs sont fournies pour les deux premières composantes, la troisième étant mise à 0, et la quatrième composante sera mise à 1. Un 3 dans le nom de la commande indique que les valeurs sont fournies pour les trois premières composantes et la quatrième composante sera mise à 1, alors qu’un 4 dans le nom de la commande indique que les valeurs sont fournies pour les quatre composantes.

Les lettres s, f, i, d, ub, us, et ui indiquent Si les arguments sont de type short, float, int, double, unsigned byte, unsigned short, ou unsigned int. Lorsque v est ajouté au nom, la commande peut prendre un pointeur vers un tableau de ces valeurs.

Des lettres capitales additionnelles peuvent indiquer des altérations supplémentaires au comportement par défaut de la fonction glVertexAttrib :

Les commandes contenant N indiquent que les arguments sont passés en valeur à point décimal fixe qui sont dimensionnées selon une échelle normée selon les règles de conversion de composantes définies par les spécifications OpenGL. Les valeurs signées sont interprétées comme représentant des valeurs décimales fixes dans l’étendue /wiki/-1,1, et les valeurs non signées sont interprétées comme représentant des valeurs décimales fixes dans l’étendue /wiki/0,1.

Les commandes contenant I indiquent que les arguments sont pleinement étendus à des entiers signés ou non.

Les commandes contenant P indiquent que les arguments sont rangés en composantes compactées au sein d’un type natif plus grand.

Les variables d’attributs du language de Shading OpenGL autorisées sont de type mat2, mat3, or mat4. Les attributs de ces types doivent être chargés en utilisant les points d’entrée de Gl.VertexAttrib. Les Matrices doivent être chargées dans des emplacements successifs d’attributs génériques en colonnes ordonnées, avec une colonne de la matrice dans chaque emplacement d’attribut générique.

Une variable attribut défini par l’utilisateur déclarée à un shader de sommet peut être liée à un indice d’attribut générique en appelant Gl.BindAttribLocation. Ceci permet à une application d’utiliser des noms de variable plus descriptifs dans un shader de sommets. Un changement subséquent à l’attribut de sommet générique spécifié sera immédiatement reflété comme un changement à la variable d’attribut dans le shader de sommet.

La liaison entre l’indice d’un attribut de sommet générique et une variable définie par l’utilisateur dans un shader de sommets fait partie de l’état du programme objet, mais pas la valeur en cours de l’attribut de sommet générique. La valeur de chaque attribut de sommet générique fait partie de l’état en cours, exactement comme les attributs de sommet standards, et mis à jour même si un programme objet différent et employé.

Une application peut librement modifier les attributs de sommet générique qui ne sont pas liés à une variable d’attribut nommée de shader de sommet. Ces valeurs sont simplement actualisées comme des parties de l’état en cours et ne seront pas accédées par le shader de sommet. Si un attribut de sommet générique lié à une variable d’ attribut d’un shader de sommets n’est pas mise à jour au cours de l’exécution d’un shader de sommets, le shader de sommets utilisera répétitivement la valeur en cours de l’ attribut de sommet générique.

Notes

Les attributs de sommet génériques peuvent être mis à jour n’importe quand.

Il est possible à une application de lier plus d’un nom d’ attribut au même indice d’attribut de sommet générique. Ceci est référencé comme un alias, et ce n’est autorisé que si un seul alias de variable d’attribut n’est actif dans le shader de sommet, ou si aucun trajet à travers le shader de sommet ne consomme plus d’un alias d’attribut aliasé au même emplacement. Les implementations OpenGL ne sont pas supposer effectuer des tests d’erreur pour détecter l’aliasing, il leur est permis de présumer que l’aliasing ne se produira pas, et elles peuvent employer les optimisations qui ne fonctionnent qu’en l’absence d’aliasing.

Il n’y a pas de réservation pour lier les attributs de sommet standards ; par conséquent, il n’est pas possible de faire des alias d’attributs génériques avec les attributs standards.

Les versions Gl.VertexAttrib4bv, Gl.VertexAttrib4sv, Gl.VertexAttrib4iv, Gl.VertexAttrib4ubv, Gl.VertexAttrib4usv, Gl.VertexAttrib4uiv, et Gl.VertexAttrib4N ne sont disponibles que pour la version GL 3.1 ou supérieur.

Les versions Gl.VertexAttribP ne sont disponibles que pour la version GL 3.3 ou supérieur.

Erreurs

Gl.INVALID_VALUE est générée si index est plus grand ou égal à Gl.MAX_VERTEX_ATTRIBS.

Gl.INVALID_ENUM est générée si Gl.VertexAttribP est employé avec un type autre que Gl.INT_10_10_10_2 ou Gl.UNSIGNED_INT_10_10_10_2.

Gets Associés

Gl.Get avec l’argument Gl.CURRENT_PROGRAM

Gl.GetActiveAttrib avec l’argument program et l’indice d’une variable attribut active.

Gl.GetAttribLocation avec l’argument program et le nom d’une variable attribut.

Gl.GetVertexAttrib avec l’argument Gl.CURRENT_VERTEX_ATTRIB et index

Voir aussi

Gl.VertexAttribPointer

Voir documentation originale sur le site web OpenGL