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

full screen distortion как правильно сделать

#0

Как это понял я:
1)Нужно все спрайты который несут искажение отрендерить в текстуру №1
2)Весь остальной мир отрендерить в текстур №2
3)Потом послать в шейдер прямоугольник на весь экран, в котором происходит что-то вроде этого: текстура№1 * текстура №2

Подскажите пожалуйста как сделать по фен-шую:D

11 янв. 2019, 3:16

#1
vec2 displacement = texture2D(displacementTexture, screenCoord).xy * 2.0f - vec2(1.0f);
gl_FragColor = texture2D(colorTexture, screenCoord + displacement);

11 янв. 2019, 3:21 (Правка: 3:21)

#2

Suslik
Спасибо, а что на счет 3 пункта? Так и слать прямоугольник на весь экран с 2-мя текстурами?

11 янв. 2019, 3:33

#3

Создаешь 2 тектуры. Биндишь их к разным шейдерам. Рисуешь в них сцену разными шейдерами. Потом в основном шейдере семплируешь их вместе, как g-buffer.

11 янв. 2019, 3:43

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