9.4 Passer des types simples

Pour passer un float :

1
void glUniform1f(GLint location, GLfloat v0);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est le float que l'on veut passer au shader

Pour passer un vecteur de float à deux dimensions :

1
void glUniform2f(GLint location, GLfloat v0,  GLfloat v1);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est la composante en x du vecteur
  • v1 : est la composante en y du vecteur

Pour passer un vecteur de float à trois dimensions :

1
void glUniform3f(GLint location, GLfloat v0,  GLfloat v1, GLfloat v2);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est la composante en x du vecteur
  • v1 : est la composante en y du vecteur
  • v2 : est la composante en z du vecteur

Pour passer un vecteur de float à quatre dimensions :

1
void glUniform4f(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est la première composante du vecteur
  • v1 : est la deuxième composante du vecteur
  • v2 : est la troisième composante du vecteur
  • v3 : est la quatrième composante du vecteur

Pour passer un int :

1
void glUniform1i(GLint location, GLint v0);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est le float que l'on veut passer au shader

Pour passer un vecteur de int à deux dimensions :

1
void glUniform2i(GLint location, GLint v0,  GLint v1);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est la composante en x du vecteur
  • v1 : est la composante en y du vecteur

Pour passer un vecteur de int à trois dimensions :

1
void glUniform3i(GLint location, GLint v0,  GLint v1, GLint v2);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est la composante en x du vecteur
  • v1 : est la composante en y du vecteur
  • v2 : est la composante en z du vecteur

Pour passer un vecteur de int à quatre dimensions :

1
void glUniform4i(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);

Où :

  • location : identifiant de la variable à modifier
  • v0 : est la première composante du vecteur
  • v1 : est la deuxième composante du vecteur
  • v2 : est la troisième composante du vecteur
  • v3 : est la quatrième composante du vecteur