Quais são as diferenças entre OpenGL moderno e antigo? O OpenGL moderno é difícil, então devo começar com o antigo OpenGL?
O openGL foi uma api de uso mais geral que lhe proporcionou uma funcionalidade como "vertex", "begin primtivie", "matrix stack", e assim por diante. Ele também dependia da existência de sistemas de iluminação pré-definidos (pipeline de funções fixas).O opengl moderno é uma besta diferente, destinado a permitir que as pessoas extraiam a potência do hardware do dispositivo. Você não tem mais a função "vértice", em vez disso você tem objetos buffer de vértice e assim por diante. Você também deve definir iluminação escrevendo shaders.
No entanto, há um catch.
Parte significativa do opengl "antigo" ainda deve estar disponível sob o perfil de "compatibilidade", enquanto o novo api mais poderoso é colocado sob o perfil "core". Significa que não tens de te restringir a novas funções se não quiseres.
As quais começar com... Achei o opengl mais divertido de mexer para te divertires. Você poderia desenhar as coisas de maneira eficiente mas imediatamente ver os resultados do seu programa usando aquela coisa do modo iniciar/terminar. Glut with Immediate mode opengl foi particularmente agradável.
Então, se você quiser você pode começar com funções openglk antigas - para se divertir. Mas, se você está planejando escrever aplicações comerciais, você vai precisar pegar novas funções em algum momento de qualquer forma.