Open GL ES - Diferencia entre GLenum vs Glint y GLint vs GLsizei

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?

preguntado el 02 de mayo de 12 a las 19:05

1 Respuestas

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

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 bolas

Lo 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 ver GLsizei, comportarse de manera diferente hacia ese parámetro poniendo tamaños en ese campo - Nicol bolas

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.