Estoy tratando de aprender OpenGL. Tengo experiencia con C y C++, establezco un entorno de construcción y todo ese jazz, pero estoy tratando de descubrir un buen punto de partida.OpenGL Core y compatibilidad
Conozco la línea de función fija prominente en OpenGL < = 2.1, y parece relativamente fácil comenzar. Sin embargo, el perfil principal que OpenGL empuja en OpenGL> = 3.1 hace que quiera mantenerse alejado del FFP debido a la depreciación. Pero estoy confundido sobre cómo funciona todo en 3.1 y superior. En 2.1 y abajo tienes tu glBegin (GL_WHATEVER) y glEND() cuando estás dibujando formas. Lo primero que noté al mirar a través de la API de perfil central es que esas dos llamadas a función ya no están. Me doy cuenta de que probablemente haya un reemplazo simple, pero es bastante impactante ver algo tan (aparentemente útil) sacado de una tarea tan básica. Casi parece que desaprobaba printf() de la biblioteca estándar c. Y cuando trabajo en el libro rojo más nuevo, todavía usan el viejo código obsoleto que complica aún más mi pensamiento.
Al leer varias respuestas a preguntas similares veo el típico "basado en sombreado" o "todo está hecho con sombreadores", etc. Si quiero dibujar un simple cuadrado blanco sobre un fondo negro (el primer ejemplo en el el Libro Rojo más nuevo), no entiendo cómo un sombreador es relevante para dibujar un cuadro. ¿No deberían hacer ... bueno ... sombrear? Intenté comprar el Libro Naranja y el Libro Azul, pero no quiero gastar más dinero en algo que esconderá todo detrás de una biblioteca (el Libro Azul) o algo que va a hablar sobre la programación de un sombreador para realizar algunas tareas de iluminación en un entorno 3D (el Libro Naranja).
Entonces, ¿dónde empiezo? ¿Cómo dibujo un cuadro (o un cubo o una pirámide o lo que sea) utilizando únicamente el perfil central? No estoy pidiendo un fragmento de código aquí, estoy buscando un tutorial expansivo o un libro o algo que alguien pueda señalarme. Si esto ha sido respondido previamente y no lo encontré, por favor redirigirme.
Le recomendaría que busque un buen "libro" en OpenGL moderno. Mi primera recomendación sería http://www.arcsynthesis.org/gltut/, que es en línea y gratuita. Eso debería hacerte comenzar. – Bart
También puede usar la tubería programable en 2.0. La función fija es mala e ineficiente independientemente de la versión. –
@CatPlusPlus Esa es la PRIMERA vez que escucho de alguien referirse a la tubería de función fija como ineficiente. :) Es posible que desee reconsiderar esa palabra.Crappy - Estoy de acuerdo con. – Ani