Работает ли фрагментный шейдер вне экрана? - PullRequest
0 голосов
/ 25 октября 2018

Я использую webgl 1.0.

Я хочу знать, что если я установлю вершины вне диапазона -1 ~ 1, фрагментный шейдер будет работать вне экрана (также кадровый буфер) или нет.

[пример]
Если я установлю, как показано ниже.
тип рисования: gl.LINES
вершин: [-100000,-100000, 100000, 100000] <--- 1 линия, сделанная из 2 точек </p>

Я думаю, что результат отображениято же самое, когда я установил
вершины: [-1,-1, 1, 1]
(оба результата показывают одну прямую линию от левого нижнего до правого верхнего.)

Я хочу знать, что первый пример - более медленная производительность, вызванная лотомбегущего фрагмента шейдера.

1 Ответ

0 голосов
/ 05 июня 2019

Нет, фрагментный шейдер обрабатывает только фрагменты, находящиеся в томе представления.Другие фрагменты обрезаны.

Примитивы обрезаются на этапе последующей обработки вершины .

Правило Отсечение применяется к координатам пространства клипа (gl_Position):

-.w <= .x, .y, .z <= .w

Обработка фрагмента выполняется позже после растеризации 1016*.
См. Также
Обзор конвейера рендеринга

...