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

Язык программирования для шейдеров OpenGL.

53
Использование нескольких шейдеров

В настоящее время я изучаю шейдеры opengl, но я не могу что-то придумать: как применить к объектам разные шейдеры, например, чайник, визуализированный с помощью toon shader, и другой в той же сцене, используя очень отражающую поверхность, а другие искажены от функция шума, как в этом видео...

49
Как работают шейдеры Raymarch?

Я смотрел на шейдеры, найденные здесь shadertoy.com, и большинство крутых имеют общие шумы и raymarch. Я вообще не понимаю исходный код, но очень хочу. Как работают эти шейдеры и как работает алгоритм raymarch? Я искал по всему и не могу найти ничего по теме....

46
ключевые слова в GLSL

Я не совсем понимаю, как использовать ключевые слова in/ outв GLSL, и Google нехарактерно бесполезен. Что именно они делают? Как бы я их использовал, если, например, я хочу передать переменный набор переменных для каждой вершины во фрагментный шейдер? Буквально каждый учебник, который я нахожу,...

45
Как сделать реалистичный лед?

Я пытаюсь написать ледяной шейдер в Unity, который выглядит хорошо и хотя бы полуреалистично. Если бы следующий снимок ( найденный в Google ) был CG, что бы включил его шейдер? (передний план пещеры). Я могу ошибаться, но похоже, что у него даже другая модель освещения, чем у рассеянного по...

42
Как я могу уменьшить наложение в моем эффекте свечения контура?

Я пытаюсь воспроизвести эффект светящегося контура в игре Left 4 Dead. Эффект заставляет контур объекта светиться, даже когда объект закрыт. Вот скриншот эффекта: Я в некоторой степени могу повторить этот эффект в моей программе на основе OpenGL. Вот что я сейчас делаю: Создайте текстуру цвета и...

41
Должны ли актеры в игре быть ответственными за рисование себя?

Я очень новичок в разработке игр, но не в программировании. Я (снова) играю с игрой типа Понг, используя canvasэлемент JavaScript . Я создал Paddleобъект, который имеет следующие свойства ... width height x y colour У меня также есть Pongобъект, который имеет такие свойства, как ... width height...

40
GLSL: Как я могу разыграть float для int?

В шейдерном фрагменте GLSL я пытаюсь floatпреобразовать объект в int. Компилятор вызывает ошибку: ERROR: 0:60: '=' : cannot convert from 'mediump float' to 'highp int' Я попытался повысить точность int: mediump float indexf = floor(2.0 * mixer); highp int index = indexf; но безрезультатно. Как...

27
Почему этот геометрический шейдер так сильно тормозит мою программу?

У меня есть программа OpenGL, и я рендеринг сетки ландшафта. Я смещаю вершины в буфере вершин и пока не окрашиваю их в фрагментный шейдер. Я добавляю геометрический шейдер по одной части за раз. До того, как я добавил геометрический шейдер, когда я просто программировал этапы фрагмента и затенения...

27
Вызывает ли == ветвление в GLSL?

Попытка выяснить, что именно вызывает ветвление, а что нет в GLSL. Я делаю это много в моем шейдере: float(a==b) Я использую его для симуляции операторов if, без условного ветвления ... но эффективно ли это? У меня нет операторов if где-либо в моей программе, и у меня нет никаких циклов....

27
Почему программируемый конвейер (GLSL) быстрее фиксированного конвейера?

Поэтому я учу себя GLSL и пытаюсь понять, почему он должен быть быстрее конвейера с фиксированными функциями. Причина, по которой у меня возникла проблема, заключается в том, что, насколько я понимаю, созданные вами шейдеры заменяют разделы конвейера, которые были там ранее. Итак, как просто...

26
Как команды предотвращают перезапись работы в исходных файлах? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки игр для Stack Exchange. Закрыто 4 года назад . Мне пришла в голову возможность, что в то время, как, например, над игровым движком...

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

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

17
Освещение фонгом - что-то очень странное с зеркальным освещением

Я реализовал освещение Phong. Кажется, все работает - торы и сферы освещены, как и ожидалось, и т. Д. Но я замечаю нечто странное в отношении зеркального освещения направленного света. Вот два скриншота. Первый: Во-вторых: Как вы можете видеть, большая область имеет зеркальное освещение, когда...

17
GLSL Light (затухание, цвет и интенсивность) формула

Я использую точечные источники света в своем двигателе Voxel, и я действительно изо всех сил пытаюсь получить хороший поток света, от 100% возле источника света до 0% в радиусе света. У меня есть 5 аргументов для функции: Светлый цвет (Vec3) Интенсивность света (расстояние от света до расстояния,...

17
GLSL, все в одной или нескольких шейдерных программах?

Я делаю несколько 3D-демонстраций с использованием OpenGL, и я заметил, что GLSL несколько «ограничен» (или это только я?). Во всяком случае, у меня много разных типов материалов. Некоторые материалы имеют рассеянный и рассеянный цвет, некоторые материалы имеют карту окклюзии окружающей среды,...

16
Есть ли преемник RenderMonkey? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки игр для Stack Exchange. Закрыто 5 лет назад . Я начинаю с программирования шейдеров GLSL и изучаю RenderMonkey . К сожалению, AMD больше не...

16
OpenGL: VBO или glBegin () + glEnd ()?

Мне недавно дали эту ссылку на учебный сайт от кого-то, кому я дал оригинальную OGL Redbook. Третий заголовок внизу ясно говорит о том, что следует забыть glBegin () и glEnd () как типичный метод рендеринга Я учился по методу Redbook, но я вижу некоторую выгоду в VBO. Действительно ли это...

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

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

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

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