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

Программа, работающая на графическом процессоре, для определения выходных цветов пикселей. Также известен как фрагментный шейдер.

22
Потеряю ли я производительность при отбрасывании пикселей, даже если я не использую тестирование глубины?

Когда я впервые искал инструкцию по сбросу, я обнаружил, что эксперты говорят, что использование отклонения приведет к снижению производительности. Они сказали, что отбрасывание пикселей нарушит способность GPU правильно использовать zBuffer, потому что GPU должен сначала запустить шейдер Fragment...

22
Почему H (blinn) используется вместо R (phong) в зеркальном затенении?

Я не могу найти вескую причину для этого нигде. Вектор отражения, используемый в фонге, имеет простую основу в физике. Но половинный вектор, используемый в блинне, по-видимому, не имеет рациональной основы и не является надлежащим отражением. И все же он используется в каждой так называемой...

18
GLSL - однопроходное размытие по Гауссу

Возможно ли реализовать фрагментный шейдер, чтобы сделать однопроходное размытие по Гауссу? Я нашел много реализации двухпроходного размытия (гауссово и размытие в рамке): http://callumhay.blogspot.com/2010/09/gaussian-blur-shader-glsl.html...

15
Затенение Toon / Cel с переменной шириной линии?

Я вижу несколько общих подходов к затенению cel: Дублирование и увеличение модели с перевернутыми нормалями (не вариант для меня) Фильтр Собеля / фрагментный шейдер подходит к обнаружению края Трафаретный буфер подходит к обнаружению края Геометрические (или вершинные) шейдерные подходы, которые...

15
Как написать шейдер, который загорается, когда объекты находятся рядом с поверхностью?

В этом видео об игре Overwatch щит персонажа светится белым в областях, которые находятся рядом с геометрией других объектов. Обратите внимание на белые края на синем щите около пола, стен и колонны. Я полагаю, что у щита есть своя собственная модель, и эффект достигается с помощью шейдера, но я...

14
GLSL Shader - изменение оттенка / насыщенности / яркости

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

13
Какие методы рендеринга я бы использовал, чтобы нарисовать эффект тени для карточек в карточной игре?

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

10
Как создать «ретро» пиксельный шейдер для преобразованных 2D спрайтов, который поддерживает точность пикселей?

Изображение ниже показывает два спрайта, визуализированных с точечной выборкой поверх фона: К левому черепу не применяется вращение / масштабирование, поэтому каждый пиксель идеально соответствует фону. Правый череп поворачивается / масштабируется, и это приводит к большим пикселям , которые больше...

10
Как мне реализовать 2D тени, отбрасываемые между слоями?

Как я могу реализовать 2d тени, которые отбрасываются объектами в другом слое? НЕ нравится динамическое освещение в известном уроке от Catalin Zima : Но, как тени труб в этом видео : И как тень от платформы и персонажа в этом видео : Я хотел бы использовать один и тот же вид освещения в сцене с...

9
Наброски спрайтов

В настоящее время я работаю над 2D-игрой, и моя текущая задача - наметить выделенный объект. Я в основном использую размытие шейдера, чтобы сделать это полностью во время выполнения. Сначала я рисую свой спрайт с помощью вертикального гауссова размытия, затем я рисую его с помощью горизонтального...

9
Оптимизация производительности шейдера с тяжелыми фрагментами

Мне нужна помощь в оптимизации следующего набора шейдеров: Vertex: precision mediump float; uniform vec2 rubyTextureSize; attribute vec4 vPosition; attribute vec2 a_TexCoordinate; varying vec2 tc; void main() { gl_Position = vPosition; tc = a_TexCoordinate; } Фрагмент: precision mediump float; /*...

8
Как использовать производные пространства экрана для сглаживания параметрической фигуры в пиксельном шейдере?

В документе Valve Alpha Tested Magnification упоминается использование «производных пространства экрана на пиксель» для сглаживания. Я понимаю, что это ddxи есть ddyвстроенные функции в HLSL? Я пытаюсь нарисовать параметрические фигуры (например, круг: x² + y² <1 ) в шейдере, и я не знаю, как...

8
GL ES: оптимизация фрагмента шейдера

Резюме: я получаю замедление FPS, как только я пытаюсь тонировать спрайты (то есть: умножить текстуру на цвет в фрагментном шейдере) Подробности: Аппаратное обеспечение: iPod touch 4 Я рисую 700 спрайтов на экране, используя glDrawArrays. И да, я собираю все это в один розыгрыш. Ниже показана...