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

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

#0
3:16, 11 янв. 2019

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

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


#1
(Правка: 3:21) 3:21, 11 янв. 2019
vec2 displacement = texture2D(displacementTexture, screenCoord).xy * 2.0f - vec2(1.0f);
gl_FragColor = texture2D(colorTexture, screenCoord + displacement);
#2
3:33, 11 янв. 2019

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

#3
3:43, 11 янв. 2019

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

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