Вопросы с тегом «shader»

По всем вопросам, связанным с шейдерами, то есть программируемой частью конвейера GPU. По вопросам шейдера для конкретного языка обращайтесь также к тегам [glsl] и [hlsl].

1
Почему это условие в моем фрагментном шейдере так медленно?
Я установил некоторый FPS-измерительный код в WebGL (на основе этого SO-ответа ) и обнаружил некоторые странности в производительности моего фрагментного шейдера. Код просто отображает один квад (или, скорее, два треугольника) на холсте 1024x1024, поэтому вся магия происходит в фрагментном шейдере. Рассмотрим этот простой шейдер (GLSL; вершинный шейдер - просто сквозной): …

1
Является ли постоянное состояние более дорогостоящим, чем переключение шейдеров?
Вообще, ветвление в шейдерах не очень хорошая идея. Но теперь у меня есть шейдер с условием, которое является постоянным по отношению ко всему вызову отрисовки. Таким образом, выполняемая ветвь всегда одинакова для одного вызова отрисовки. Является ли такой вид ветвления еще более дорогостоящим, чем использование нескольких шейдеров без этих ветвей …


2
Производные карты и касательное пространство Карты нормалей
Я обнаружил, что некоторые движки используют производные карты вместо карт нормалей касательного пространства . После некоторого прочтения кажется, что это действительно замечательный способ заменить нормали касательного пространства, но есть ли какой-то недостаток в их использовании? Почему все еще продолжают использовать нормали касательного пространства? Можно ли сравнить как преимущества, так и …

1
Цикл производительности в шейдере
Мне интересно, как лучше интегрировать функцию динамического цикла в шейдер? Во-первых, кажется, что динамические массивы невозможны. Итак, лучше ли создавать массив максимального размера и заполнять только его часть или определять массивы с заранее заданными размерами? Тогда, как лучше всего перебрать этот массив? Лучше использовать развернутый цикл или динамический цикл для …


1
Нужно ли повторно связывать униформу или атрибуты при смене шейдерных программ?
Для рендеринга сцены обычно используется более одной шейдерной программы, которая, в моем случае, использует одни и те же атрибуты и разделяет, по крайней мере, некоторые из униформ. Чтобы они работали должным образом, я в настоящее время играю в безопасности, то есть я перепривязываю атрибуты и получаю соответствующие одинаковые местоположения каждый …
11 opengl  glsl  shader 


1
Эффективный рендеринг со многими источниками света
Чтобы визуализировать сцену с одним источником света с использованием затенения по фонгу, можно рассчитать окончательный цвет каждого фрагмента, переданного в шейдер фрагмента, на основе внешних / диффузных / зеркальных компонентов как материала, так и источника света. Это может быть легко расширено для приспособления к нескольким источникам света путем суммирования результатов …

2
Причина теневых прыщей
Я знаю, как работает отображение теней, но я не понимаю причину появления прыщей! Может кто-нибудь сказать мне простой причиной появления прыщей в тени и как это связано с разрешением карты глубины?

1
Правильная форма термина геометрии GGX
Я пытаюсь внедрить микроразмер BRDF в мой raytracer, но у меня возникают некоторые проблемы. Многие статьи и статьи, которые я прочитал, определяют термин частичной геометрии как функцию вида и половинных векторов: G1 (v, h). Однако при реализации этого я получил следующий результат: (Нижний ряд - диэлектрический с шероховатостью 1,0 - …

1
Расчет на вершину в тесселяции OpenGL
Я пытаюсь реализовать позиционное моделирование одежды с использованием аппаратного тесселяции. Это означает, что я хочу просто загрузить контрольный квад на графическую карту, а затем использовать тесселяцию и затенение геометрии для создания узлов в ткани. Эта идея следует за бумагой: Huynh, David, "Моделирование ткани с использованием аппаратной тесселяции" (2011). Тезис. Рочестерский …

1
Как работает Texture Cache в Tile Based Rendering GPU
Как кеш работает с рендерингом на основе плиток? Есть ли какие-нибудь советы, как улучшить коэффициент попадания в кеш? (например, если плитки обрабатываются горизонтально, и у меня есть вертикальные сегменты треугольников с одинаковой текстурой, будет ли это хуже для кеша, чем если бы я располагал треугольники горизонтально?)

2
Как я могу сместить / уменьшить треугольный многоугольник в GLSL?
Мне нужно сместить все (синие) треугольники, каждый независимо от других, используя вершинный шейдер. Чтобы манипулировать треугольником в целом, я создал пользовательские (vec3) атрибуты для каждой вершины (красный), представляющие соседние вершины влево (фиолетовый) и вправо (зеленый). Из этого мне нужно вывести оранжевую точку, равноудаленную (в пространстве экрана ) от обоих смежных …

2
Кодировать два буфера R11G11B10F в один, используя Y'CbCr?
Мы пытаемся оптимизировать освещение по скорости заполнения. Интегрированные графические чипы очень медленно обращаются к памяти. Есть два Light Buffers: один для Diffuse и один для Specular. Оба используют формат R11G11B10F. Есть ли способ упаковать два буфера в один? Например, используя цветовую модель Y'CbCr:

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.