fragment-shader

Кто-нибудь знает, как это сделать switch case синтаксис в шейдере фрагментов на Samsung Galaxy S2? Я получаю ошибку компиляции: Expected literal or '(', got 'switch'. Мой синтаксис выглядит следующим образом: switch(i){ case 0: x = alphas[0]; break; case 1: //...etc. } Это прекрасно работает на N...

Я пытаюсь реализовать затенение Фонга безрезультатно. Я строю шейдеры по крупицам (что само по себе может быть проблемой), но вот где я сейчас нахожусь. Я ожидал бы, что это выведет мой результат (чайник Юты) в виде белого изображения на моем черном фоне. Он делает это правильно, когда я удаляю строку 18 из в...

Я создал пользовательский шейдер, чтобы иметь возможность использовать BlendMap с 4 различными текстурами, но я не могу заставить тени/эффекты молнии работать с ним. Чего мне здесь не хватает? Или есть какой-то другой способ добиться такой же функциональности? Метод создания сетки, ниже которого показаны вс...

Подробности: у меня есть шейдер фрагментов glsl с однородной текстурой, "u_MapTexture" с несколькими тысячами цветов на нем (максимум около 10k-15k уникальных значений rgb). У меня также есть однородная текстура палитры ("u_paletteTexture"), которая составляет 16384 × 1, которую я хочу использовать для индекс...

Я пытаюсь сделать круглую частицу, которая выглядит так, как будто на ее вершине горит свет. Вот что я пытаюсь сделать, чтобы это выглядело так: И вот как это выглядит в настоящее время: Не очень хорошо. Поскольку я использую GL_POINTS, я получаю переменную gl_PointCoord, которая должна облегчить зад...

За последние ~2-3 недели я узнал о физическом затенении, и я просто не могу обернуть свою голову вокруг некоторых проблем, которые у меня есть. Шейдер Фрагментов #version 430 #define PI 3.14159265358979323846 // Inputs in vec3 inputNormal; vec3 fNormal; // Material float reflectance = 1.0; // 0 to 1 floa...

Я пытаюсь найти смысл в настройке цветов текстуры с помощью шейдера фрагментов. Мой шейдер фрагментов очень прост: uniform sampler2D sampler; void main() { vec4 tex = texture2D ( sampler, uvVarying ); gl_FragColor = vec4(tex.r, tex.g, tex.b, tex.a); } Это рисует текстуру моей собаки, как и ожидалось:...

Я пытаюсь реализовать Scrypt hasher (для LTC miner) на GLSL (не спрашивайте меня, почему). И, на самом деле, я застрял с алгоритмом HMAC SHA-256. Несмотря на то, что я реализовал SHA-256 правильно (он повторно использует хэш corrent для ввода), шейдер фрагментов перестает компилироваться, когда я добавляю по...

uniform sampler2D sampler0; uniform vec2 tc_offset[9]; void blur() { vec4 sample[9]; for(int i = 0; i < 9; ++i) sample[i] = texture2D(sampler0, gl_TexCoord[0].st + tc_offset[i]); gl_FragColor = (sample[0] + (2.0 * sample[1]) + sample[2] + (2.0 * sample[3]) + sample[4] + 2.0 * sample[5] + ...

этот вопрос уже есть ответ здесь: Что такое вершинные и пиксельные шейдеры? 5 ответов Я читал некоторые учебники по Cg, но одна вещь не совсем ясна для меня. В чем именно разница между вершинными и фрагментными шейдер...