Soy interesante para aprender sobre las diferentes capas de abstracción disponibles para hacer aplicaciones gráficas.Aprendiendo acerca de la programación de gráficos de bajo nivel
Veo muchos términos: en el más alto nivel de abstracción, escucho cosas como C#, .NET, pyglet y pygame. Más abajo, escuché sobre DirectX y OpenGL. Luego están DirectDraw, SDL, la API de Win32 y otras bibliotecas multiplataforma como WxWidgets.
¿Cómo puedo obtener una buena idea de dónde termina una de estas capas y dónde comienza la siguiente? ¿Cuál es el modo de "nivel más bajo posible" para crear una ventana en Windows, en C? ¿Qué hay de C++? (Una muestra de código sería divina.) ¿Qué tal en X11? ¿Las implementaciones de Windows de OpenGL y DirectX están construidas sobre la API de Win32? ¿Dónde puedo comenzar a aprender sobre estas cosas?
Hay otra pregunta en SO donde se sugiere Programming Windows. ¿Qué tal para Linux? ¿Hay un libro equivalente?
Soy consciente de que esto es de muy bajo nivel, y de que hay muchas herramientas más amigables disponibles, pero al menos me gustaría aprender los conceptos básicos de lo que sucede debajo de la superficie. Por mucho que me gustaría comenzar a lanzar ventanas y vectores desde el comienzo, comenzar con algo como pygame es demasiado alto para mí; Realmente necesito hacer el circuito conceptual completo de cómo dibujar cosas en una computadora.
Definitivamente apreciaré las sugerencias de libros y recursos, pero creo que sería estupendamente genial si las respuestas a esta pregunta llenaran muchas maneras de llegar al "Hola mundo" con diferentes enfoques de programación de gráficos. ¿DO? C++? ¿Usando OpenGL? ¿Usando DirectX? En Windows XP? En Ubuntu? Tal vez pido demasiado.
"¿Qué pasa con Linux? ¿Hay un libro equivalente equivalente?" - Ahora hay uno - http://www.amazon.com/The-Linux-Programming-Interface-Handbook/dp/1593272200 - muy rara vez un libro tiene una calificación de 100% de 5 estrellas, y 39 es razonablemente bueno tamaño de la muestra. –
Max, tengo la misma pregunta, solo quiero saber si has encontrado tu camino a través de todas tus preguntas, porque estas mismas preguntas también me molestan –
@SurajJain, no es mucho, pero hay un par de preguntas más que tengo Preguntó que también podría comenzar: http://stackoverflow.com/questions/235151/game-programming-how-to-avoid-reinventing-the-wheel http://stackoverflow.com/questions/12850071/what-is-the-simplest-way-to-render-a-3d-cube-with-one-lighting-source –