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

Как OpenGL делает коррекцию перспективы?

Advanced: Тема повышенной сложности или важная.

#0
13:12, 18 ноя. 2018

Как OpenGL делает коррекцию перспективы?
В какой момент это происходит? Во время чтения из текстуры или после того, как фрагментный шейдер отработал?
Есть более подробное описание?
В интернете искал, но конкретно как это делается, не нашел.
Ковырять исходники mesa что-то не хочется :D


#1
13:36, 18 ноя. 2018

oxotnik

в современном GL есть модификаторы интерполяторов

#2
14:08, 18 ноя. 2018

Одинделитьсяназед.

#3
14:32, 18 ноя. 2018

innuendo
А если глубину менять в пиксельном шейдере? Или это вообще не афектит перспективные искажения?

#4
14:39, 18 ноя. 2018

oxotnik
> А если глубину менять в пиксельном шейдере?

модификатор всем рулит - всё остальное просто параметры

#5
16:35, 18 ноя. 2018

innuendo
А что за модификатор?

#6
16:52, 18 ноя. 2018

oxotnik
> Как OpenGL делает коррекцию перспективы?
Уверен что это делает OpenGL, а не видео карта?

#7
20:11, 19 ноя. 2018

Perspective divide делается внутри пайплайна после вершинного шейдера. Если фрагментный шейдер переписывает глубину или делает discard - depth test происходит после фрагментного шейдера, а не до.

А про модификаторы читать здесь - https://www.khronos.org/opengl/wiki/Type_Qualifier_(GLSL)#Interpolation_qualifiers

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

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