Здравствуйте,
при реализации данного эффекта на glsl, без двойного рендера сцены не обойтись?
примечание: на объектах сцены могут висеть свои шейдеры.
Это постпроцесс
innuendo
я, конечно, понимаю, что это постпроцесс.
на данный момент алгоритм таков:
1. рендер объектов с шейдером для формирования текстуры с доф.
2. рендер объектов в тестуру в цвете
3. рендер текстурки с блюром
ion
> 1. рендер объектов с шейдером для формирования текстуры с доф.
> 2. рендер объектов в тестуру в цвете
Делаете рендер в depth\color
innuendo
Но у меня на объекте может висеть собственный шейдер.
ion
> Но у меня на объекте может висеть собственный шейдер.
Да хоть несобственный :) Вынимаешь данные из depth-bufer и дальше кочегаришь ...
так можно отдельно текстуру приаттачить к буфферу цвета и отдельно к буфферу глубины через glFramebufferTexture2D?
Забавно, но грустно ...
Действительно забавно, если это так.
указатель был не в ту сторону) заклинился на шейдерах
http://devmaster.net/posts/3021/shader-effects-depth-of-field
ion
Да, 2 текстуры к FBO можно подключить.
innuendo
Что грустного ?
Anika
> Что грустного ?
Грустно, что у человека нету элементарного желания разобраться самому на практических примерах. Читается статья, потом прибегает на форум с кучей вопросов ... Где самостоятельная работа ? Ладно, если бы баг был - а то запутался в трёх соснах ...
innuendo
Первый раз вижу от тебя развёрнутый ответ... innuendo, ты ли это?:)
innuendo
Спасибо!
можно вообще без fbo dof сделать, главное чтобы текстура глубины была и все.
Снова, не разобравшись толком, спрашиваю:
Буфер глубины генерится без учета альфа-канала текстур есно. И появляются артефакты ввиде блюра на прозрачных участках.
Придется все же два раза рендерить? Или можно побороть за один проход?
Тема в архиве.