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.Uniform2f (gb.opengl.glsl)

Static Sub Uniform2f ( Location As Integer, V0 As Float, V1 As Float )

Spécifie la valeur d’une variable uniforme pour l’ objet Programme en cours.

Paramètres

location

Spécifie l’emplacement de la variable uniforme à modifier.
v0, v1, v2, v3

Spécifie la nouvelle valeur de la variable uniforme spécifiée.

Paramètres

location

Spécifie l’emplacement de la variable uniforme à modifier.
count

Spécifie le nombre d’éléments à modifier. Ce doit être 1 si la variable uniforme visée n’est pas un tableau, et 1 ou plus si c’est un tableau.
value

Spécifie un pointeur vers un tableau de count valeurs qui seront utilisées pour mettre à jour la variable uniforme spécifiée.

Paramètres

location

Spécifie l’emplacement de la variable uniforme à modifier.
count

Spécifie le nombre de matrices à modifier. Ce doit être 1 si la variable uniforme visée n’est pas un tableau de matrices, et 1 ou plus si c’est un tableau de matrices.
transpose

Spécifie si l’on doit transposer la matrice lorsque les valeurs sont chargées dans la variable uniforme. .
value

Spécifie un pointeur vers un tableau de count valeurs qui peuvent être utilisées pour mettre à jour la variable uniforme spécifiée.

Description

Gl.Uniform modifie la valeur d’une variable uniforme ou un tableau de variables uniformes. L’emplacement de la variable uniforme à modifier est spécifié par location, qui doit être une valeur retournée par Gl.GetUniformLocation. Gl.Uniform opere sur l’objet programme qui est devenu partie de l’état courant lors de l’appel à Gl.UseProgram.

Les commandes Gl.Uniform{1|2|3|4}{f|i|ui} sont utilisées pour changer la valeur de la variable uniforme spécifiée par location en employant les valeurs passées comme arguments. Le nombre spécifié dans la commande doit concorder avec le nombre de composantes dans le type de donnée de la variable uniforme spécifiée (ex : 1 pour float, int, unsigned int, bool; 2 pour vec2, ivec2, uvec2, bvec2, etc.). Le suffixe f indique que des valeurs flottantes sont passées; le suffixe i indique que des valeurs entières sont passées; le suffixe ui indique que des entiers non signé sont passés, et ce type doit également concorder avec le type la variable uniforme spécifiée. Les variants i de cette fonction doivent être utilisés pour fournir des valeurs aux variables uniformes définies comme int, ivec2, ivec3, ivec4, ou des tableaux de ces dernières. Les variants ui de cette fonction doivent être utilisés pour fournir des valeurs aux variables uniformes définies comme unsigned int, uvec2, uvec3, uvec4, ou des tableaux de ces dernières. Les variants f doivent être utilisés pour fournir des valeurs aux variables uniformes de type float, vec2, vec3, vec4, ou des tableaux de ces dernières. Chacun des variants i, ui ou f peut être utilisé pour fournir des valeurs aux variables uniformes de type bool, bvec2, bvec3, bvec4, ou des tableaux de ces dernières. La variable uniforme sera mise à false si sa valeur entrée est 0 ou 0.0f, et à true dans les autres cas.

Toutes les variables uniformes actives définies dans un objet programme sont initialisées à 0 quand l’objet programme est lié avec succès. Elles conservent les valeurs assignées par un appel à o Gl.Uniform jusqu’à la prochaine opération de liaison réussie avec l’objet programme, lorsqu’elles sont à nouveau initialisées à 0.

Les commandes Gl.Uniform{1|2|3|4}{f|i|ui}v peuvent être utilisées pour modifier une variable uniforme isolée ou un tableau variable uniforme. Ces commandes passent un compte et un pointeur vers les valeurs à charger dans la variable uniforme ou le tableau. Un compte de 1 peut être utilisé pour modifier la valeur d’une variable uniforme isolée, et un compte de 1 ou plus pour modifier entièrement un tableau ou une partie de tableau. Lors du chargement de n éléments débutant à une position arbitraire m au sein d’un tableau variable uniforme, les éléments m + n - 1 du tableau variable uniforme seront remplacés par les nouvelles valeurs. Si m + n - 1 est plus grand que la taille du tableau variable uniforme, les valeurs pour tous les éléments au delà de la fin du tableau seront ignorées. Le nombre spécifié dans le nom de la commande indique le nombre de composantes pour chaque élément de value, et il doit correspondre au nombre de composantes dans le type de données de la variable uniforme spécifiée (ex :, 1 pour float, int, bool; 2 pour vec2, ivec2, bvec2, etc.). Le type de donnée spécifié dans le nom de la commande doit s’accorder avec le type de donnée de la variable uniforme spécifiée comme décrit précédemment pour Gl.Uniform{1|2|3|4}{f|i|ui}.

Pour les tableaux variable uniforme, chaque élément du tableau est considéré comme étant du type indiqué dans le nom de la commande (ex :, Gl.Uniform3f ou Gl.Uniform3fv peut être employé pour charger un tableau variable uniforme de type vec3). Le nombre d’éléments du tableau variable uniforme à modifier est spécifié par count

Les commandes Gl.UniformMatrix{2|3|4|2x3|3x2|2x4|4x2|3x4|4x3}fv sont utilisées pour modifier une matrice ou un tableau de matrices. Les nombres dans le nom de la commande sont interprétés comme la dimension de la matrice. Le nombre 2 indique une matrice 2 × 2 (c. à d., 4 valeurs), Le nombre 3 indique une matrice 3 × 3 (c. à d., 9 valeurs), et le nombre 4 indique une matrice 4 × 4 (c. à d., 16 valeurs). La dimension des matrices qui ne sont pas carrées est explicite, avec unun premier nombre représentant le nombre de colonnes et un second le nombre de rangées. Par exemple, 2x4 indique une matrice avec 2 colonnes et 4 rangées (c. à d., 8 valeurs). Si transpose est Gl.FALSE, chaque matrice est supposée être fournie d’ans l’ordre de la colonne principale. Si transpose est Gl.TRUE, chaque matrice est supposée fournie dans l’ordre de la rangée principale. L’argument count indique le nombre de matrices à transmettre. Un compte de 1 peut être utilisé pour modifier la valeur d’une seule matrice, et un compte plus grand, pour modifier un tableau de matrices.

Notes

Gl.Uniform1i et Gl.Uniform1iv sont les deux seules fonctions qui peuvent être utilisées pour charger des variables uniformes définies avec le type sampler. Le chargement de samplers avec toute autre fonction génèrera une erreur Gl.INVALID_OPERATION.

Si count est supérieur à 1 que la variable uniforme indiquée n’est pas un tableau, une erreur Gl.INVALID_OPERATION se produit et la variable uniforme spécifiée reste inchangée.

Outre les exceptions précédentes, si le type et la taille de la variable uniforme comme définis dans le shader ne concordent pas avec le type et la taille spécifiés dans le nom de la commande utilisée pour charger sa valeur, une erreur Gl.INVALID_OPERATION sera générée et la variable uniforme spécifiée restera inchangée.

Si location est une valeur différente de -1 et qu’elle ne représente pas un emplacement de variable uniforme dans l’ objet programme en cours, une erreur sera générée, et aucun changement ne sera fait à l’enregistrement de la variable uniforme de l’objet programme en cours. Si location est égal à -1, les données passées seront silencieusement ignorées et la variable uniforme spécifiée restera inchangée.

Erreurs

Gl.INVALID_OPERATION est générée s'il n'y a pas d'objet programme courant.

Gl.INVALID_OPERATION est générée si la taille de la variable uniforme déclarée dans le shader ne concorde pas avec la taille indiquée par la commande Gl.Uniform . Gl.INVALID_OPERATION est générée si l’un des entiers variants Signés ou non signés de cette fonction est utilisé pour charger une variable uniforme de type float, vec2, vec3, vec4, ou un tableau de ceux-ci, ou si l’un des variants flottants de cette fonction est utilisé pour charger une variable uniforme de type int, ivec2, ivec3, ivec4, unsigned int, uvec2, uvec3, uvec4, ou un tableau de ceux-ci.

Gl.INVALID_OPERATION est générée si l’un des variants entier signé de cette fonction est utilisé pour charger une variable uniforme de type unsigned int, uvec2, uvec3, uvec4, ou un tableau de ceux-ci.

Gl.INVALID_OPERATION est générée si l’un des variants entier non signé de cette fonction est utilisé pour charger une variable uniforme de type int, ivec2, ivec3, ivec4, ou un tableau de ceux-ci.

Gl.INVALID_OPERATION est générée si location est un emplacement uniforme invalide pour l’objet programme en cours et si location n’est pas égal à -1.

Gl.INVALID_VALUE est générée si count est inférieur à 0.

Gl.INVALID_OPERATION est générée si count est supérieur à 1 si la variable uniforme n’est pas une variable tableau array.

Gl.INVALID_OPERATION est générée si un sampler est chargé en utilisant une commande autre que Gl.Uniform1i et Gl.Uniform1iv.

Gets Associés

Gl.Get avec l’argument Gl.CURRENT_PROGRAM

Gl.GetActiveUniform avec le handle d’un objet programme et l’indice d’une variable uniforme active.

Gl.GetUniform avec le handle d’un objet programme et l’emplacement d’une variable uniforme.

Gl.GetUniformLocation avec le handle d’un objet programme et le nom d’une variable uniforme.

Voir aussi

Voir documentation originale sur le site web OpenGL