Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Реализация карт теней с использованием GLSL шейдеров (комментарии)

Реализация карт теней с использованием GLSL шейдеров (комментарии)

Страницы: 1 2 315 16 Следующая »
ExecutorУдалёнwww1 фев. 200922:33#0
Реализация карт теней с использованием GLSL шейдеров (комментарии)

Это сообщение сгенерировано автоматически.

.::manuna::.Постоялецwww1 фев. 200922:33#1
Спасибо ^_^
SergioУдалёнwww1 фев. 200923:22#2

В этом варианте нам уже не нужен рендер-буфер, на его место встала текстура со специальным форматом GL_DEPTH_COMPONENT. Нужда в буфере цвета отпадает вовсе, так как глубина будет сразу сохраняться в текстуру, поэтому не забываем сделать:
  glDrawBuffer(GL_NONE);
  glReadBuffer(GL_NONE);

а разве это делается не так
glColorMask(false, false, false, false)
?

правка: можно было бы еще рассказать, как сделать простейшие мягкие тени - чтобы вопросов было меньше :))

0r@ngEПостоялецwww2 фев. 20090:48#3
Sergio666
> а разве это делается не так
> glColorMask(false, false, false, false)
для main-backbuffer да, а тут указываем fbo что у него нет колор-буфера
ExecutorУдалёнwww2 фев. 20094:38#4
.::manuna::.
>Спасибо ^_^

Пожалуйста...

Sergio666
>правка: можно было бы еще рассказать, как сделать простейшие мягкие тени -
>чтобы вопросов было меньше :))

Ну мягкие тени уже на отдельную статью тянет... :)

innuendoПостоялецwww2 фев. 200910:48#5
Executor
А где слова что при помощи shadow2D можно поиметь PCF фильтр ?
innuendoПостоялецwww2 фев. 200910:49#6
Sergio666
>а разве это делается не так
>glColorMask(false, false, false, false)

Это запрет на вывод в colorBuffer, а не его конфигурирование

SergioУдалёнwww2 фев. 200910:59#7
innuendo
>>glColorMask(false, false, false, false)
>Это запрет на вывод в colorBuffer, а не его конфигурирование
Буду знать :)

innuendo
>А где слова что при помощи shadow2D можно поиметь PCF фильтр ?
А где слова что shadow2DProj обычно криво работает на ATI :)))

DivisionПостоялецwww2 фев. 200911:09#8
Спасибо (:
innuendoПостоялецwww2 фев. 200911:33#9
Executor

void main(void)
{
  gl_FragColor = vec4(gl_FragCoord.z);
}

Это если пишешь в colorBuffer...
Если shadow map как depthTexture писать ничего не нужно... Просто рендеришь в lghtSpace с отключенным FS... и colorWrite

0r@ngEПостоялецwww2 фев. 200911:55#10
innuendo
> Это запрет на вывод в colorBuffer, а не его конфигурирование
я разве не об этом сказал в 3-ем посте ???
innuendoПостоялецwww2 фев. 200912:01#11
0r@ngE
>innuendo
>> Это запрет на вывод в colorBuffer, а не его конфигурирование
>я разве не об этом сказал в 3-ем посте ???

:) Я внёс поправку

0r@ngEПостоялецwww2 фев. 200912:03#12
innuendo
> :) Я внёс поправку
ок ;)

Executor
неплохо, но ИМХО наверное стоило рассмотреть какой-нить более продвинутый алгоритм, типа LiSPSM, TSM или ваще CSM. ;)

innuendoПостоялецwww2 фев. 200912:13#13
Executor
Спасибо за статью... Теперь дело до Пуассона + variance shodow map  :)

innuendoПостоялецwww2 фев. 200912:31#14
Executor
Извини, сейчас увидел
// Напомню, что в первом варианте нам нужен шейдер,
// чтобы сохранить глубину в текстуру, во втором это не к чему.

Страницы: 1 2 315 16 Следующая »

/ Форум / Программирование игр / Графика

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

2001—2018 © GameDev.ru — Разработка игр