Open GL ES - Diferencia entre GLenum vs Glint y GLint vs GLsizei
Frecuentes
Visto 3,153 veces
2
Hay un tipo de datos en Open GL llamado GLenum que puede contener desde 0 hasta 4,294,967,295. En cualquier lugar donde lo he visto usado, nunca he encontrado ninguna diferencia entre él y GLInt. Y otro tipo de datos que no puedo entender es GLsizei porque es completamente igual a Glint (al menos eso parece). ¿Cuáles son los usos de GLenum y GLsizei y en qué se diferencian de Glint?
1 Respuestas
3
Los nombres delatan un poco el propósito. GLenum
es para enumeraciones. GLsizei
es por tallas Estos no son conceptos complicados aquí. OpenGL simplemente proporciona alguna asociación semántica entre valores y tipos.
Si una función toma un GLenum
, entonces debes pasar uno de los GL_...
enumeradores a ella. si toma un GLsizei
, debe pasar un tamaño. son diferentes de GLint
en que ellos significa algo diferente, no es que sean más grandes o más pequeños.
El tamaño no importa; es lo que haces con él lo que cuenta.
contestado el 02 de mayo de 12 a las 19:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas types opengl-es or haz tu propia pregunta.
Digamos que una función espera GLsizei. ¿Qué sería diferente si esperara Glint? Después de todo, Glint y GLsizei son exactamente lo mismo. Entonces, ¿por qué una función preferiría tomar cualquiera de ellos? - Mikayil Abdullayev
@MikeJM: Porque significa algo diferente. Podría tener todas sus funciones en C++ tomar
void*
s y prescindir del sistema de tipos por completo. Eso no lo convierte en una buena idea. - Nicol bolasLo que puedo inferir de su comentario es que cuando OpenGL ve GLsizei se comporta de manera diferente a como lo haría si viera Glint. Es una especie de instrucción para Open GL sobre cómo manejar ciertas tareas. ¿Estoy en lo correcto? - Mikayil Abdullayev
@MikeJM: No, cuando tú ver
GLsizei
, tú comportarse de manera diferente hacia ese parámetro poniendo tamaños en ese campo - Nicol bolas