После пользовательского отсечения вершины, как обычно, отсекаются углом ебзора. При этом значения из gl_Position (однородные координаты точки в пространстве отсечения) сравниваются с углом обзора.

4.5.4. Координаты растра Вершинный шейдер работает с координатами, заданными командой gl RasterPos, точно так же, как с координатами, заданными gl Vertex. Вершинный шейдер обязан представлять данные для вычисления координат текущего растра.

Данные, представляющие текущие координаты растра, состоят из следующих элементов:

I. Оконных координат, вычисленных из gl_Positi on. Эти координаты воспринимаются как координаты точки, которые прошли отсечение и проецирование на оконное пространство координат.

( 1 Бита, обозначающего, была ли точка отбракована.

3. Расстояния до растра, которое устанавливается в varying-переменную gl_Fog-FragCoord вершинного шейдера,

4. Цвета растра, устанавливаемого либо из gl_FrontColor, либо из gl_BackColor, в зависимости от того, передняя или задняя грань была выбрана.

5. Вторичного цвета растра, устанавливаемого из varying-переменных: либо из gl_FrontSecondaryCol or, либо из gl_BackSeco.ndaryCol or, в зависимости от того, передняя или задняя грань была выбрана.

6. Одной или больше растровых текстурных координат. Они берутся из varying-переменной вершинного шейдера - массива g1_TexCoord[].

7. Индекса цвета растра. Так как в режиме индексированного цвета результат выполнения вершинного шейдера не определен, значение индекса цвета растра всегда устанавливается в 1.

Если переменные, нужные для получения данных, описанных в первых шести пунктах, отсутствуют, значения соответствующих элементов данных останутся не определенными,

4.5.5. Инвариантность координат

Для многопроходного рендеринга, подразумевающего, что часть операций выполняется вершинным шейдером, а часть - внутри OpenGL, важна инвариантность координат. Это означает, что вычисленные вершинным шейдером и стандартными операциями координаты вершины в пространстве отсечения должны совпадать


⇐ Предыдущая| |Следующая ⇒