Компьютерная графика

Вопросы и ответы для исследователей компьютерной графики и программистов

53
Должны ли новые графические программисты изучать Vulkan вместо OpenGL?

Из вики : «Vulkan API изначально упоминался как« инициатива OpenGL следующего поколения »от Khrono», и что это « основополагающая попытка редизайна объединить OpenGL и OpenGL ES в один общий API, который не будет обратным» совместим с существующими версиями OpenGL ". Так стоит ли лучше изучать...

49
Острые углы со шрифтами со знаком поля расстояния

Подпись Расстояние Поле (СФД) , было представлено в качестве быстрого решения для достижения независимой отрисовки шрифтов разрешения от Valve в этой статье . У меня уже работает решение Valve, но я бы хотел сохранить резкость по углам. Valve заявляет, что их метод может достичь острых углов,...

45
Как я могу отлаживать шейдеры GLSL?

При написании нетривиальных шейдеров (как и при написании любого другого нетривиального кода) люди делают ошибки. [цитата нужна] Однако я не могу просто отладить его, как любой другой код - вы не можете просто присоединить GDB или отладчик Visual Studio в конце концов. Вы даже не можете выполнять...

42
Как осуществляется Gaussian Blur?

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

38
Альбедо против Диффузе

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

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

Операции фильтрации изображений, такие как размытие, SSAO, bloom и т. Д., Обычно выполняются с использованием пиксельных шейдеров и операций «сбора», где каждый вызов пиксельного шейдера выдает несколько выборок текстуры для доступа к значениям соседних пикселей и вычисляет ценность одного пикселя....

34
Насколько физически обосновано различие и зеркальное различие?

Классический способ затенения поверхностей в компьютерной графике в реальном времени представляет собой комбинацию (ламбертовского) диффузного термина и зеркального термина, наиболее вероятно, Phong или Blinn-Phong. Теперь с тенденцией к физическому рендерингу и, следовательно, моделям материалов в...

34
Есть ли распространенные материалы, которые не очень хорошо представлены RGB?

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

33
Что такое выборка важности?

Что такое важность выборки? В каждой статье, о которой я читал, упоминается «PDF», что же это такое? From what I gather, importance sampling is a technique to only sample areas on a hemisphere that matter more than others. So, ideally, I should sample rays towards light sources to reduce noise and...

32
Схема сопоставления концепций DirectX / OpenGL (Vulkan)

Зачастую аналогичная аппаратная функция предоставляется через DirectX и OpenGL с использованием другой терминологии. Например: Константа Буфер / Равномерный буфер объект RWBuffer / SSBO Я ищу исчерпывающую диаграмму, которая описывает, какая терминология DirectX используется для обозначения какой...

31
Что такое Рэй Маршинг? Сфера отслеживает одно и то же?

Многие демоверсии ShaderToy используют алгоритм Ray Marching для рендеринга сцены, но они часто написаны в очень компактном стиле, и я не могу найти простых примеров или объяснений. Так что же такое Рэй Маршинг? Некоторые комментарии предполагают, что это разновидность отслеживания сфер. Каковы...

30
Почему трассировка по методу Монте-Карло выполняется лучше, чем трассировка по распределенным лучам?

Я слышал, что качество трассировки Монте-Карло (основанной на алгоритмах трассировки пути) гораздо более реалистично, чем распределенный (стохастический) движок. Я пытаюсь понять, почему, но я только в начале. Чтобы погрузиться в эту тему и понять основы, кто-то может указать мне правильное...

30
Совместное использование кода между несколькими шейдерами GLSL

Я часто сталкиваюсь с копированием кода между несколькими шейдерами. Это включает в себя как определенные вычисления или данные, используемые всеми шейдерами в одном конвейере, так и общие вычисления, которые нужны всем моим вершинным шейдерам (или любой другой стадии). Конечно, это ужасная...

29
Есть ли у оригинального шума Перлина какое-либо преимущество перед симплексным шумом?

Шум Перлина - одна из самых популярных процедурных шумовых функций. Позже Perlin разработал шум Simplex, который устраняет некоторые недостатки шума Perlin, в частности его неэффективность из-за больших размеров и направленных артефактов (Википедия перечисляет пять преимуществ симплекс-шума). Тем...

27
Как виртуальное текстурирование может быть эффективным?

Для справки я имею в виду «общее название» для техники, впервые (я полагаю), представленной в технологии MegaTexture от idTech 5 . Смотрите видео здесь для быстрого взгляда на то, как это работает. В последнее время я просматривал некоторые статьи и публикации, связанные с этим, и я не понимаю, как...

27
Дорожка трассировки Кук-Торранс BRDF

- Извините за длинный пост, но я предпочитаю делать так, потому что « Дьявол кроется в деталях » :) Я пишу трассировщик пути с нуля, и он отлично работает для идеально диффузных (ламбертовских) поверхностей ( т. Е. Тест печи показывает - по крайней мере визуально), что он энергосберегающий, и...

26
Что такое трафаретный буфер?

Википедия утверждает, что буфер трафарета - это произвольный буфер, который шейдер может использовать. Тем не менее, это намекает на то, что он используется для отсечения или иным образом «жестко связывает» буферы глубины и пикселей, слегка противореча самому себе. Что на самом деле делает...

26
Избегать z-боев с совпадающими поверхностями

При рендеринге двух перекрывающихся копланарных поверхностей распространенной проблемой является «борьба по z», при которой средство визуализации не может решить, какая из двух поверхностей ближе к камере, создавая визуальные артефакты в области перекрытия. Стандартным решением этого является...

25
Какова стоимость смены государства?

Предполагается, что у программистов есть достаточно хорошее представление о стоимости определенных операций: например, о стоимости инструкций по ЦП, о потере кэша L1, L2 или L3, о стоимости LHS. Когда дело доходит до графики, я понимаю, что понятия не имею, что это такое. Я имею в виду, что если мы...

24
Верна ли моя перспективная математика?

У меня есть домашнее задание, в котором я должен рассчитать и построить некоторые точки с использованием предполагаемого преобразования, но я не уверен, что мои результаты верны, так как 3D-график с использованием координат камеры выглядит очень отличающимся от 2-го графика с использованием...