Extensiones OpenGL: cómo usarlas en OS X - novato OpenGL

¿Alguien puede señalarme en una dirección a un gran tutorial o cómo usar las extensiones OpenGL usando OS X. Estoy aprendiendo OpenGL y algo como un novato. Estoy usando un libro de texto para aprender gráficos, pero no brinda instrucciones específicas de la plataforma sobre cómo hacer que el código funcione.

Estoy ejecutando OS X (10.6.7) en una MacBookPro con NVidia GeForce 9400M. Tengo XCode instalado, por lo que tengo los encabezados y bibliotecas necesarios para compilar y ejecutar código gráfico. Estoy intentando usar las extensiones de OpenGL y ahora estoy atascado. Este es mi problema:

Un ejemplo en mi libro de texto utiliza una función llamada glGenVertexArrays. Veo en glext.h que hay una función llamada glGenVertexArrays, un APIENTRYP al lado y un typedef ligeramente debajo de él:

wdyn-n233-240-235:GL marklagatuz$ cat glext.h | grep glGenVertexArrays
GLAPI void APIENTRY glGenVertexArrays (GLsizei, GLuint *);
GLAPI void APIENTRY glGenVertexArraysAPPLE (GLsizei, GLuint *);

typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); 

Mi pregunta es ¿cómo utilizar esta función en mi código fuente .cpp? He examinado la red y no he encontrado buena documentación. Quizás porque soy nuevo en esto. ¿Alguien podría indicarme una gran ayuda y tutoriales?

preguntado el 16 de mayo de 11 a las 17:05

1 Respuestas

Si quiere simplificar su vida, no se moleste con glext.h pero use una envoltura de extensión en su lugar. Recomiendo GLEW, http://glew.sourceforge.net

contestado el 16 de mayo de 11 a las 21:05

Hola. Ahora he instalado GLEW en mi sistema. Además, eché un vistazo al archivo de encabezado, glew.h, y leí el básico y el avanzado. Todavía no estoy seguro de cómo utilizar las extensiones en mi programa. Supongamos que quiero crear un objeto de matriz de vértices. ¿Cómo utilizo esto en mi código? No estoy seguro de la sintaxis, lo que se debe declarar, etc. ¿Podrías ayudar a un novato? ¡Gracias por adelantado! - user462020

Lo primero que debe hacer si desea utilizar GLEW es llamar a glewInit (); desde el hilo en el que creó su contexto OpengGL, justo después de que se haya creado el contexto. Luego, debe verificar si las extensiones deseadas están realmente disponibles en su sistema, GLEW proporciona una forma muy conveniente para esto: glew.sourceforge.net/basic.html para saber cómo usar los objetos de búfer de vértice, lea estos artículos opengl.org/wiki/Vertex_Buffer_Object y en.wikipedia.org/wiki/Vertex_Buffer_Object - datenwolf

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