Итак, я новичок в OpenGL ... У меня есть общие знания по программированию игр, но мало практического опыта.
Я изучал различные статьи и книги и пытался погрузиться в OpenGL, но я нашел, что различные версии и старые и новые способы запутывают.
Наверное, мои первые вопросы: кто-нибудь знает цифры о процентах геймеров, которые могут запускать каждую версию OpenGL? Какова доля рынка? 2.x, 3.x, 4.x ...
Я изучил требования к Half Life 2, так как я знаю, что Valve обновил его OpenGL для работы на Mac, и я знаю, что они обычно пытаются поразить очень широкую пользовательскую базу, и они говорят, что минимум GeForce 8 Series. Я посмотрел 8800 GT на веб-сайте Nvidia, и в нем указана поддержка OpenGL 2.1. Что, может быть, я ошибаюсь, звучит для меня древне, поскольку уже есть 4.x. Я посмотрел драйвер для 8800GT и он говорит, что поддерживает 4.2! Немного расхождений, лол.
Я также читал о том, что XP поддерживает только до определенной версии, или OS X поддерживает только 3.2, или все виды других вещей. В целом, я просто смущен тем, сколько поддержки существует для различных версий и какую версию изучать / использовать.
Я также ищу учебные ресурсы. Мои результаты поиска пока указывают мне на OpenGL SuperBible. 4-е издание имеет отличные обзоры на Amazon, но учит 2.1. 5-е издание учит 3.3, и в обзорах есть пара моментов, в которых упоминается, что 4-е издание лучше и что 5-е издание не учит должным образом новых функций или что-то еще? По сути, даже в учебном материале я вижу расхождения и просто не знаю, с чего начать.
Из того, что я понимаю, 3.x начал совершенно новый способ работы, и я прочитал из различных статей и обзоров, что вы хотите "держаться подальше от устаревших функций, таких как glBegin (), glEnd ()", но много книг и учебники, которые я видел, используют этот метод. Я видел людей, которые говорили, что, по сути, новый способ делать вещи более сложный, а старый - плохой>.>
Только примечание, лично я знаю, что мне еще многое предстоит узнать заранее, но я заинтересован в тесселяции; так что я думаю, что это тоже важно, потому что, насколько я понимаю, это только в 4.x?
[кстати, мой рабочий стол поддерживает 4.2]