Компютърна графика: Каква е разликата между вертекс шейдъри и пикселни шейдъри?


Отговор 1:

Графичен тръбопровод

Вертекс шейдъри

  • Програмите, изпълнявани веднъж на върха, в началото на тръбата. Не може да създава или унищожава върхове. Не знае на кой примитивен принадлежи.

Пикселни шейдъри

  • Програмите, изпълнени веднъж на фрагмент, закъсняват в тръбопровода. Не могат да имат достъп до други върхове или пиксели. Изчисляват непрозрачност, цвят, z-стойност, текстурни координати.

Засенчване на фън

Засенчване на фън

на пиксел;

Модел на отражение на фонг

  • На всяка върха трансформирайте позицията и нормалното от пространството на обекта в световното пространство. На всеки пиксел интерполирайте и нормализирайте нормалната повърхност и сумирайте различните компоненти на осветлението (околна + дифузна + спектрална), за да изчислите крайния цвят на пикселите.

Ръководства за OpenGL

вариращ vec3 N; вариращ vec3 v; void main (void) {v = vec3 (gl_ModelViewMatrix * gl_Vertex); N = нормализиране (gl_NormalMatrix * gl_Normal); gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex; }
вариращ vec3 N; вариращ vec3 v; void main (void) {vec3 L = нормализиране (gl_LightSource [0] .position.xyz - v); vec3 E = нормализиране (-v); vec3 R = нормализиране (-отражение (L, N)); // ambient vec4 Iamb = gl_FrontLightProduct [0] .ambient; // дифузен vec4 Idiff = gl_FrontLightProduct [0] .diffuse * max (точка (N, L), 0.0); Idiff = скоба (Idiff, 0.0, 1.0); // specular vec4 Ispec = gl_FrontLightProduct [0] .specular * pow (max (точка (R, E), 0.0)), 0.3 * gl_FrontMaterial.shininess); Ispec = скоба (Ispec, 0.0, 1.0); // общ цвят gl_FragColor = gl_FrontLightModelProduct.sceneColor + Iamb + Idiff + Ispec; }

Отговор 2:

Какво е Vertex Shader?

Vertex Shader

Имайте предвид, че шейдерите Tessellation и Geometry не са задължителни.

Входове на Vertex Shader

Атрибути

Униформи

Само за четене

позиции, нормали и uv-координати

ВСИЧКО

Изходи на Vertex Shader

gl_Position

Само за четене

различна / напускане

Атрибути

различна / напускане

униформа

Какво е фрагмент шейдър (известен още като Pixel Shader)?

униформа

растеризатора

Входове към фрагмент Шейдър

връх

мозайка

Геометричен шейдър

апартамент

различна / напускане

  • Координати на текстурата: Използва се като един от параметрите във функцията текстура (). Вектори за отражение на Ver-Vertex: Използва се в картографиране на околната среда, картографиране на куб или при всяка операция, включваща отражение. Вектори за пречупване на Ver-Vertex: Използват се при картографиране на куб или във всяка операция, включваща пречупвания . Геометрични координати в координати на модела или изгледа. Интензитет на светлината: Използва се в сцени, използващи перпендикулярно осветление. Вектори на разстояние от върхове до източници на светлина: Използва се за точково осветление / засенчване на Фонг.

Изходи на фрагмент Шейдър

vec4

Графични шейдъри: теория и практика, второ издание: Майк Бейли, Стив Кънингам: 9781568814346: Amazon.com: Книги


Отговор 3:

Какво е Vertex Shader?

Vertex Shader

Имайте предвид, че шейдерите Tessellation и Geometry не са задължителни.

Входове на Vertex Shader

Атрибути

Униформи

Само за четене

позиции, нормали и uv-координати

ВСИЧКО

Изходи на Vertex Shader

gl_Position

Само за четене

различна / напускане

Атрибути

различна / напускане

униформа

Какво е фрагмент шейдър (известен още като Pixel Shader)?

униформа

растеризатора

Входове към фрагмент Шейдър

връх

мозайка

Геометричен шейдър

апартамент

различна / напускане

  • Координати на текстурата: Използва се като един от параметрите във функцията текстура (). Вектори за отражение на Ver-Vertex: Използва се в картографиране на околната среда, картографиране на куб или при всяка операция, включваща отражение. Вектори за пречупване на Ver-Vertex: Използват се при картографиране на куб или във всяка операция, включваща пречупвания . Геометрични координати в координати на модела или изгледа. Интензитет на светлината: Използва се в сцени, използващи перпендикулярно осветление. Вектори на разстояние от върхове до източници на светлина: Използва се за точково осветление / засенчване на Фонг.

Изходи на фрагмент Шейдър

vec4

Графични шейдъри: теория и практика, второ издание: Майк Бейли, Стив Кънингам: 9781568814346: Amazon.com: Книги