Тут предлагаем какие уроки можно сделать. Желательно предлагать конкретные идеи, а не "вот бы чегонить по мультисамплингу".
1) Урок по нескольким вьюпортам, обычно в таких уроках экран разделён на четыре части и в каждой части своё изображение. Можно сделать две разные сцены, два вьюпорта отображают одну сцену с разных позиций, два других вьюпорта отображают вторую сцену с разных позиций.
2) Урок по самплерам (sampler object). На сцене несколько кубиков. Например кубиков несколько рядов (например два), верхний ряд самый простой имеет одну текстуру, но разные настройки самплеров (фильтрация, врап), второй ряд несколько сложнее, там забиндина одна и та же текстура на несколько юнитов, но с разными самплерами, в шейдере пол кубика одна текстура, пол кубика вторая текстура, изза разных самплеров мы делаем например разную фильтрацию, в итоге визуально пол кубика текстуры имеет одну фильтрацию, пол кубика имеет ту же текстуру, но с другой фильтрацией - здесь наглядно показывается мощь sampler objects.
Референсы: ogl-330-sampler-anisotropy-ext.cpp, ogl-330-sampler-fetch.cpp, ogl-330-sampler-filter.cpp, ogl-330-sampler-object.cpp, ogl-330-sampler-wrap.cpp
Ну вот конкретные идеи пока такие.
Поддерживаю данную тему, в свою очередь я думаю еще над рядом уроков:
Это из интересующих тем и которые есть в набросках.
Список примеров на g-truc даёт пищу для размышлений о том, про что можно сделать уроки:
ogl-330-blend-index.cpp
ogl-330-blend-rtt.cpp
ogl-330-buffer-type.cpp
ogl-330-buffer-uniform.cpp
ogl-330-buffer-uniform-shared.cpp
ogl-330-buffer-update.cpp
ogl-330-draw-instanced.cpp
ogl-330-draw-instanced-array.cpp
ogl-330-draw-multiple.cpp
ogl-330-fbo-blit.cpp
ogl-330-fbo-layered.cpp
ogl-330-fbo-mipmaps.cpp
ogl-330-fbo-multisample.cpp
ogl-330-fbo-rtt.cpp
ogl-330-fbo-rtt-texture-array.cpp
ogl-330-fbo-srgb.cpp
ogl-330-primitive-shader.cpp
ogl-330-query-conditional.cpp
ogl-330-query-occlusion.cpp
ogl-330-query-timer.cpp
ogl-330-rasterizer-viewport.cpp
ogl-330-sampler-anisotropy-ext.cpp
ogl-330-sampler-fetch.cpp
ogl-330-sampler-filter.cpp
ogl-330-sampler-object.cpp
ogl-330-sampler-wrap.cpp
ogl-330-test-scissor.cpp
ogl-330-texture-2d.cpp
ogl-330-texture-array.cpp
ogl-330-texture-buffer.cpp
ogl-330-texture-compressed.cpp
ogl-330-texture-cube.cpp
ogl-330-texture-rect.cpp
ogl-330-texture-swizzle.cpp
ogl-330-transform-feedback.cpp
Executor
К сожалению там много исходников особо ничего не показывают, но подумать можно да.
Хочу поскорее FBO урок, самому лень разбираться)
Тени было бы круто (:
Все же GPU gems в плане идей рулит, да там помимо голых исходников есть еще и мат. обоснование, а это иногда важнее....
Executor
> вот бы чегонить по мультисамплингу
Вот чегонить по мультисемплингу бы...
Нужен урок, который будет рассказывать о инициализации окна и контекста м multisampling'ом. Так же можно использовать coverage sampling. И рассказать как это все объединить чтобы работало на разных устройствах
Sergio
> чтобы работало на разных устройствах
Уточню, что за разные устройства?
Кстати там есть в SVN-е пример с созданием окна с мультиспмлингом, все думаю как бы его внести в основную ветку внезапно :)
RigoN
> Все же GPU gems в плане идей рулит, да там помимо голых исходников есть еще и
> мат. обоснование, а это иногда важнее....
За мат.обоснованием буду в любом случае отправлять в другие источники, у себя я его расписывать не буду, такая моя позиция.
Кстати вот пытаюсь выделить бюджет на покупку GL 4 карточки, так что может после нового года уже и про тесселяцию поговорим :)
KpeHDeJIb
> За мат.обоснованием буду в любом случае отправлять в другие источники, у себя я
> его расписывать не буду, такая моя позиция
Просто наличие математической модели дает возможность глубже и точнее понять суть решаемой задачи, так конкретная реализация(программный код) очень часто бывает очень вольной трактовкой конкретных желаний. Я не говорю, что урок надо заваливать мат. аналитикой, но её наличие даст возможность создать нормальный и интересный урок.
Division
> Тени было бы круто (:
Ну вообще статья по теням есть, просто нужно под ГЛ3.3 пример переделать...
KpeHDeJIb
> Кстати вот пытаюсь выделить бюджет на покупку GL 4 карточки, так что может
> после нового года уже и про тесселяцию поговорим :)
Учитывай, что аудитория ГЛ4 уроков будет не велика, поэтому сильно на ГЛ4 уроки давить не стоит...
RigoN
"Мне сказали, что каждая включённая в книгу формула вдвое уменьшит число покупателей. Тогда я решил вообще обходиться без формул. Правда, в конце я всё-таки написал одно уравнение — знаменитое уравнение Эйнштейна E=mc²." (c) Стивен Хокинг
Думаю это мудрые слова, формулы не нужны...
Executor
> Ну вообще статья по теням есть, просто нужно под ГЛ3.3 пример переделать...
Там на самом деле немного изменений, однако с учетом расчет в world-space могут быть отличия.
Ну и надо использовать textureProj, т.к. shadow* убрали совсем из GLSL. Вобщем у меня есть
рабочий пример уже на этой кодобазе с SM+PCF тенью. Могу запилить хоть сейчас, но урок
будет позже в любом случае, возможно после урока по освещению, что думаете?
KpeHDeJIb
> Ну и надо использовать textureProj, т.к. shadow* убрали совсем из GLSL.
Какая разница, суть шадоу самплера не поменялась...
Тема в архиве.