Компьютерлік графика: Vertex Shaders пен Pixel Shaders арасындағы айырмашылық неде?


жауап 1:

Графикалық құбыр

Vertex көлеңкесі

  • Құбырдың басында бір шыңнан бір рет орындалатын бағдарламалар. Тесіктерді жасауға немесе жоюға болмайды. Олардың қандай негізгі элементке жататынын білмеймін.

Пиксельді көлеңкелер

  • Бағдарламалар әр фрагментке бір рет құбыр желісінде кеш басталады. Сіз басқа шыңдарға немесе пикселдерге кіре алмайсыз. Мөлдірлік, түс, z-мән және құрылым құрылымын есептейді.

Фен көлеңкесі

Фен көлеңкесі

пиксельге;

Phong шағылысу моделі

  • Әрбір шыңда объектінің кеңістігінен кеңістікке позиция мен норманы өзгертіңіз. Әр пиксельдің беткі қабатын интерполяциялаңыз және қалыпқа келтіріңіз және ақырғы пиксель түсін есептеу үшін әртүрлі жарық компоненттерін қосыңыз (қоршаған орта + диффузиялық + спекулярлық).

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)); // қоршаған орта vec4 Iamb = gl_FrontLightProduct [0] .ambient; // диффузды vec4 Idiff = gl_FrontLightProduct [0] .diffuse * max (нүкте (N, L), 0.0); Idiff = қысқыш (Idiff, 0.0, 1.0); // алыпсатарлық vec4 Ispec = gl_FrontLightProduct [0] .specular * pow (макс. (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 көлеңкесі

Шейдерлік кесу және геометрия міндетті емес екенін ескеріңіз.

Vertex shader кірісі

Атрибуттар

Форма кию

Тек оқыңыз

Позициялар, нормалар және ультракүлгін координаталар

БАРЛЫҚ

Vertex shader басылымдары

gl_position

Тек оқыңыз

өзгереді / өзгереді

Атрибуттар

өзгереді / өзгереді

Біркелкі

Фрагментті шейдер дегеніміз не (пиксельдік шейдер деп те аталады)?

Біркелкі

Растрайзер

Фрагментті шейдерге салыңыз

Қоштасу

Тестілеу

Геометрия көлеңкесі

жай

өзгереді / өзгереді

  • Текстураның координаттары: құрылым () функциясының параметрлерінің бірі ретінде қолданылады. Перпендикуляр шағылыстыру векторлары: Қоршаған орта карталарында, текше карталарында немесе шағылысу операцияларында қолданылады. Переральды рефракция векторлары: текшені тағайындау немесе айналып өту операциялары үшін қолданылады.Модельдегі немесе көрініс координаттарындағы геометриялық координаттар. Жарықтың қарқындылығы: шыңдары жарықтандырылған көріністерде қолданылады. Шыңдардан жарық көздеріне дейінгі қашықтық векторлары: Нүктелік жарық / фонг көлеңкесі үшін қолданылады.

Фрагментті шейдер шығару

vec4

Графикалық шейдерлер: теория және практика, екінші басылым: Майк Бэйли, Стив Каннингэм: 9781568814346: Amazon.com: Кітаптар


жауап 3:

Шыңды шейдер дегеніміз не?

Vertex көлеңкесі

Шейдерлік кесу және геометрия міндетті емес екенін ескеріңіз.

Vertex shader кірісі

Атрибуттар

Форма кию

Тек оқыңыз

Позициялар, нормалар және ультракүлгін координаталар

БАРЛЫҚ

Vertex shader басылымдары

gl_position

Тек оқыңыз

өзгереді / өзгереді

Атрибуттар

өзгереді / өзгереді

Біркелкі

Фрагментті шейдер дегеніміз не (пиксельдік шейдер деп те аталады)?

Біркелкі

Растрайзер

Фрагментті шейдерге салыңыз

Қоштасу

Тестілеу

Геометрия көлеңкесі

жай

өзгереді / өзгереді

  • Текстураның координаттары: құрылым () функциясының параметрлерінің бірі ретінде қолданылады. Перпендикуляр шағылыстыру векторлары: Қоршаған орта карталарында, текше карталарында немесе шағылысу операцияларында қолданылады. Переральды рефракция векторлары: текшені тағайындау немесе айналып өту операциялары үшін қолданылады.Модельдегі немесе көрініс координаттарындағы геометриялық координаттар. Жарықтың қарқындылығы: шыңдары жарықтандырылған көріністерде қолданылады. Шыңдардан жарық көздеріне дейінгі қашықтық векторлары: Нүктелік жарық / фонг көлеңкесі үшін қолданылады.

Фрагментті шейдер шығару

vec4

Графикалық шейдерлер: теория және практика, екінші басылым: Майк Бэйли, Стив Каннингэм: 9781568814346: Amazon.com: Кітаптар