Войти
ПрограммированиеФорумГрафика

[wip] Цикл уроков по OpenGL 3.3

Advanced: Тема повышенной сложности или важная.

Страницы: 1 2 343 44 Следующая »
#0
21:27, 24 сен. 2010

ОБНОВЛЕНИЕ от 20.02.2010:

Страница сообщества OpenGL http://www.gamedev.ru/community/ogl/
Обсуждение проекта http://www.gamedev.ru/community/ogl/forum/

Здесь буду тему обновлять только при появлении новых уроков, так что можно считать тему закрытой.

Страница проекта на Google Code http://code.google.com/p/gl33lessons/

Цель - сделать цикл из небольших уроков охватывающих разные аспекты работы с OpenGL 3.3.

Урок 1 - Создание контекста OpenGL 3.3
Урок 2 - Рисуем первый треугольник
Урок 3 - Вращающийся куб с текстурой
Урок 4 - Свет, камера, материал! Часть 1
Урок 5 - Свет, камера, материал! Часть 2
Урок 6 - Тени от объектов
Урок 7 - Экранные эффекты

Для поддержки OpenGL 3.3 возможно потребуется обновление драйвера видеокарты, также
необходимо удостовериться что видеокарта вообще поддерживает OpenGL версии 3.3.

Следите за обновлениями!

---

Создаю данную тему по этому обсуждению:
http://www.gamedev.ru/code/forum/?id=138251&page=2#m26

Суть такова - я вызвался создать цикл уроков/статей по использованию OpenGL 3.3
Уроки прежде всего предлагаются вниманию новичков, а также тех кто хочет перейти
на использование OpenGL 3.х и 4.х с более старых версий, для тех кто привык к FFP, IM,
DL и прочим пережиткам прошлого.

Можно сказать что это переосмысление уроков NeHe на современный лад :)

Также цикл уроков предложит более углубленно ознакомиться с написанием
графических приложений, загрузкой изображений и моделей, созданием
текстур, создание вершинных VB и индексных IB буферов, а в дальнейшем
добавить примеры реализации Bump/Normal Mapping и Shadow Maps.

Цитата из темы где зародилась идея:

Вот краткий набор возможностей которые лично я бы хотел рассмотреть:
1. Создание окна и инициализация контекста для OpenGL 3.3
2. Загрузка и проверка доступности расширений OpenGL
3. Создание VAO + VBO для данных геометрии
4. Загрузка вершинных и пиксельных шейдеров GLSL
5. Реализация базовой камеры с возможностью перемещения
6. Передача в шейдер необходимых параметров (матрицы, атрибуты и т.п.)
7. Реализация направленного источника освещения
8. Загрузка текстур формата TGA и моделей формата OBJ с материалами
9. Вывод геометрии из VAO + VBO с текстурами и материалами
+ Небольшая математическая библиотека для векторов и матриц

Дополнительно есть возможность рассмотреть:
1. Базовый Bump/Normal Mapping с автоматически рассчитанным TBN (по простому)
+ Для Tangent и Binormal используется отдельный VBO (демонстрация удобства VAO).
2. Базовая Shadow Map + PCF на один направленный источник света

Если есть предложения/пожелания - просьба направить мне в лс, либо писать здесь.

Также принимается помощь в создании уроков как моральная так и материальная :)


#1
21:32, 24 сен. 2010

Сразу первый вопрос ко всем, интересует ли вас чтобы на выходе получился
небольшой фреймфорк для создани собственных приложений с использованием
OpenGL? Пример такого фреймворка есть у Борескова, однако мне он сильно
не нравится. У NeHe как такого фреймфорка не было, но сама идея вызывает
у меня интерес, поэтому выношу на обсуждение.

Оговорюсь сразу, что речь не идет о создании движка, ни в коем разе, движок
под игру у меня пишется отдельно и с ним фреймворк скорее всего не будет связан,
но зато какие-то идеи я из рабочего проекта я буду переносить в фреймворк.

Т.е. смысл в том, что по ходу работы над уроками шаг за шагом собирался каркас,
пригодный в дальнейшем для повторного использования. В отличии от того же
Борескова, здесь фреймворк не будет доступен сразу, а будет создаваться вместе
с вами и корректироваться на основе мнения адекватных пользователей :)

#2
21:33, 24 сен. 2010

Фреймворка не надо, а примеры есть на траке.

http://www.g-truc.net/post-0333.html

#3
21:34, 24 сен. 2010

KpeHDeJIb
> интересует ли вас чтобы на выходе получился
> небольшой фреймфорк для создани собственных приложений с использованием
> OpenGL?
В принципе интересует. На что он будет похож?

#4
21:50, 24 сен. 2010

SNVampyre
> Фреймворка не надо, а примеры есть на траке.
> http://www.g-truc.net/post-0333.html

К сожалению те примеры не всем понятны и доступны, до NeHe им далеко в этом плане.
Технически они конечно ушли далеко, но только не в плане наглядности ;)

Снаут
> В принципе интересует. На что он будет похож?
На базовую точку отсчета для создания графического приложения, т.е. логирование,
создание окна, создание контекста, инициализация расширений, работа с вводом от
мыши и клавиатуры, загрузка текстур TGA и моделей OBJ с материалами в MTL, загрузка
шейдеров, вывод геометрии, вся необходимая математика и работа с камерой. Также
возможно будет заложен фундамент под конкретно игровую платформу, т.е.сущность
игрового мира, ресурсы, базовый GUI. Все это будет делаться постепенно, по шагам,
будет динамически меняться в процессе работы согласно фидбеку от пользователей.

#5
21:52, 24 сен. 2010

KpeHDeJIb
> На базовую точку отсчета для создания графического приложения, т.е. логирование,
> создание окна, создание контекста, инициализация расширений, работа с вводом от
> мыши и клавиатуры, загрузка текстур TGA и моделей OBJ с материалами в MTL, загрузка
> шейдеров, вывод геометрии, вся необходимая математика и работа с камерой. Также
> возможно будет заложен фундамент под конкретно игровую платформу, т.е.сущность
> игрового мира, ресурсы, базовый GUI. Все это будет делаться постепенно, по шагам,
> будет динамически меняться в процессе работы согласно фидбеку от пользователей.
OGLUT? =) мне не надо

#6
22:01, 24 сен. 2010

Забыл указать сроки, чтобы было потом за что меня пинать.

Начну выкладывать со следующей недели, ориентировочно
каждый новый урок раз в 5-7 дней, т.е. 1 урок в неделю.

#7
22:05, 24 сен. 2010

ashujon
> OGLUT? =) мне не надо
Не совсем GLUT на самом деле, т.е. заточка именно под новые фишки OpenGL
и игровую среду, скорее как HGE но для OpenGL :)

#8
22:23, 24 сен. 2010

KpeHDeJIb
Выкладывай на гуглокоде: там и вики есть, и будет наглядно видно как "фреймворк ... будет создаваться вместе с вами и корректироваться" :)

#9
22:52, 24 сен. 2010

Буду внимательно следить!!! =)

Кстати, что такое Index Buffer? Не ужто ELEMENT_ARRAY_BUFFER или это чтото другое?

#10
23:11, 24 сен. 2010

AxMeT
насколько я знаю - да

#11
23:23, 24 сен. 2010

KpeHDeJIb
> У NeHe как такого фреймфорка не было, но сама идея вызывает
> у меня интерес, поэтому выношу на обсуждение.
Хотелось бы чтобы примеры походили на каркас обычного графического приложения (не было бы глобальных переменных, если в реальных проектах они не часто используются, правильно устроен цикл изменения состояния и отрисовки и т.п.). Я к комп. графике отношения не имею, поэтому не знаю, как правильно должно быть устроено приложение использующее OpenGL.

Недавно почитал курс NeHe (не весь), сейчас потихоньку с директом играюсь :)) Курс по OpenGL 3.3 интересен - ждемс :)

#12
23:52, 24 сен. 2010

не, я имел в виду, будет ли это набор классов или поки-стайл библиотека без ооп?

#13
2:02, 25 сен. 2010

KpeHDeJIb
> Сразу первый вопрос ко всем, интересует ли вас чтобы на выходе получился
> небольшой фреймфорк для создани собственных приложений с использованием
> OpenGL?
ИМХО это лишнее, лучше оставить как отдельные модули. Отдельные модули портировать проще, чем целиком фреймворк. Поэтому у уроков NeHe и образовалась(сообщество постаралось) огромная кодовая база для разных платформ. А там где некий фреймворк все варится только в этом котле, пример с Борисковым в этом плане наглядный, он там один копошится, другие по-моему реально этот фреймворк не используют.
Главное начать, и на правильном ресурсе wiki в этом плане идеален, а готовые статьи публиковать здесь. Можно и здесь выкладывать, а форум использовать как редакторский отдел, вариантов много.

#14
2:53, 25 сен. 2010

Блин, я только начал привыкать к "устаревшему" OpenGL, а тут такая интересная тема :). Я за ... теперь придётся всё начать заного (уже в который раз - кажется я топчусь на месте!).

А как пожелание, хотелось бы видеть побольше подробностей, как работает всё внутри. То есть не тупо набросок кода и абстрактное описание происходящего, как у NeHe, а чтоб конкретно так =).

Вспомнил уроки по ИБК ... Вобщем, человек думает образами, поэтому, как я считаю, чем больше графиков, картинок и подобных иллюстраций, тем быстрее и легче будет усваиваться материал.

ЗЫ: чуть не забыл! ООП рулит
ЗЫЫ: подписался на тему

Страницы: 1 2 343 44 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.