2011-04-30 6 views
5

Ha sido recientemente me sugirió que debería "saltar las API de bajo nivel en su totalidad por el momento y sólo tiene que utilizar algunas bibliotecas de alto nivel creados por encima de ellos. Debido a la construcción de plain opengl/directx es mucho trabajo, incluso para un programador experimentado "alto nivel, bibliotecas amigables OpenGL para un principiante-intermedio programador de C++

¿Alguien puede sugerir alguno o un lugar donde pueda encontrar alguno que me sirva? ¡Gracias!

Respuesta

3

Realmente depende de lo que estás tratando de hacer. Muchas personas optan por algo como SDL (capa de directmedia simple) que es una abstracción sobre OpenGL/DirectDraw/GDI (y más), pero todavía es un poco de bajo nivel. Funciona de forma nativa con C++.

simple DirectMedia capa es una biblioteca multimedia multiplataforma diseñado para proporcionar un acceso a bajo nivel de audio, teclado, ratón, palanca de mando, de hardware 3D a través de OpenGL, y el vídeo 2D uso de este dispositivo. Es utilizado por MPEG software de reproducción, emuladores y muchos juegos populares , incluido el premio ganador del puerto Linux de "Civilization: Call To Power".

http://www.libsdl.org/

Una de las ventajas de elegir una biblioteca muy popular como éste es que hay un montón de ejemplo funciona allí.

+2

SDL realmente no abstrae OpenGL (a menos que esté utilizando sus superficies 2D aceleradas por hardware, y no tengo idea de qué usa para eso). Más bien, hace que sea más fácil configurar un contexto OpenGL, pero aún tienes que interactuar directamente con OpenGL para dibujar cualquier cosa (a menos que, como dije antes, estás usando las cosas 2D de SDL). – icktoofay

2

OMI, en términos de abstracción de la plataforma que se está trabajando con (es decir, la obtención de un contexto, el acceso de entrada de teclado/ratón, etc) GLFW supera a todos.

Pero las personas a menudo buscan más que una forma de abrir una ventana. Muy a menudo, lo que están buscando es una implementación de lo que se llama gráfico de escena. Uno bueno resumirá casi todo lo que uno puede hacer en GL en una estructura de árbol intuitiva (técnicamente un gráfico, pero a menudo es más fácil considerarlo como un árbol). Y casi todas las bibliotecas de esta categoría proporcionan capacidades de apertura de contexto, carga de modelo y depuración propias, para completarlas.

Algunas de las bibliotecas populares en esta categoría son OpenSceneGraph y Ogre3D. Horde3D parece prometedor también, pero todavía no ha tenido una versión "oficial".

Cuestiones relacionadas