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

13
Для математики шейдеров, почему линейный RGB должен сохранять гамму sRGB?

sRGB часто противопоставляется «линейному RGB». Изображения хранятся на диске и передаются на дисплеи в формате sRGB, который по интенсивности воспринимается примерно одинаково. Математика шейдеров выполняется в линейном RGB, который физически однороден по интенсивности. Гамма-коррекция может...

12
Зачем использовать тентовый фильтр в трассировке пути?

99 строк трассировщика пути C Smallpt визуализирует субпиксельную сетку 2x2 для каждого пикселя, который он намеревается визуализировать, а затем выполняет фильтрацию тентов, чтобы объединить их. Существует интересная презентация объяснить код здесь , и он упоминает палаточный фильтр , но не...

12
Поляризационное отражение и преломление для обтекания поверхности воды

Я хочу сделать реалистичные изображения воды в орбитальной космической среде обитания. Изображение не нужно генерировать в реальном времени, хотя я бы тоже не хотел, чтобы оно занимало недели. Я ищу подход, который может генерировать реалистичные изображения в течение нескольких часов или дней....

12
Что именно делает makeContextCurrent?

Я довольно смущен этой функцией. Контекстная ссылка GLFW гласит следующее: Эта функция делает контекст OpenGL или OpenGL ES указанного окна текущим в вызывающем потоке. Контекст может быть актуальным только для одного потока за раз, и каждый поток может иметь только один текущий контекст за один...

12
Каков принятый метод преобразования блеска в шероховатость и наоборот?

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

12
Преобразование луча в пространство объекта для размытия движения

Мой raytracer поддерживает самые разные объекты. Чтобы пересечь их, я использую стандартную технику преобразования лучей в объект-пространство. Это работает фантастически, пока я не добавлю размытие в движении. Я моделирую размытие движения как последовательность преобразований (чтобы упростить...

12
Почему графика говорит о «диэлектриках», а не об изоляторах?

Например, документация Filament по адресу https://google.github.io/filament/Filament.md.html использует термин «диэлектрики» при сравнении непроводников с проводниками, которые он называет «металликами». И здесь, на stackexchange, /computergraphics//search?page=2&tab=Relevance&q=dielectric...

12
Существует ли стандартная спецификация для трехмерного графического представления?

Я читаю книгу по компьютерной графике , и в какой-то момент она показывает 3D-модель, созданную из файла .dat. Вот несколько правил для создания файла .dat: Составлен из списка позиций / граней вершин Написано против часовой стрелки Лица заканчиваются точкой (.) Фракции также приемлемы Я хочу...

12
Как работает 2D-преобразование Фурье изображения?

Я понимаю, как одномерное преобразование Фурье разделяет сигнал на составляющие его частоты, но мне трудно понять, как двумерное преобразование Фурье влияет на двумерное изображение. С другим вопросом , Джон Calsbeek связан с интересной статьей об измерении качества функций шума . Это показало...

12
Реалистичный рендеринг: какие процессы человеческого глаза и мозга мне нужно учитывать?

Фотореалистичный рендеринг имеет целью рендеринг изображения так, как это делает реальная камера . Хотя это уже амбициозная цель, для определенных сценариев вы можете пойти дальше: визуализировать изображение так, как его запечатлел бы человеческий глаз , или даже так, как его воспримет человек. Вы...

12
Какова основная причина сглаживания с использованием нескольких случайных выборок в пикселе?

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

12
Как правильно рассчитать насыщенность в этом случае?

Я пытаюсь сделать HSV представление цветового пространства xyY. Чтобы рассчитать оттенок по цвету , я использую угол между этим цветом и красным (длина волны 745) на диаграмме цветности xy с белым ( 1(x,y)(x,y)(x, y)как центр.(13,13)(13,13)(\frac{1}{3}, \frac{1}{3}) Насыщенность - это отношение...

12
Radiosity VS трассировка лучей

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

12
OpenGL - обнаружение краев

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

12
Требуется ли для выборки в косинус-взвешенном полушарии NdotL при расчете вклада для непрямого света?

При переходе от выборки из однородного полушария к выборке из косинус-взвешенного полушария меня смущает высказывание в статье. Мой текущий косвенный вклад рассчитывается как: Vec3 RayDir = UniformGenerator.Next() Color3 indirectDiffuse = Normal.dot(RayDir) * castRay(Origin, RayDir) Где скалярное...

12
Path tracer - многослойные материалы и выборка важности

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

12
Синхронизация последовательных вызовов OpenGL Compute Shader

У меня есть пара вычислительных шейдеров, которые должны быть выполнены в определенном порядке и чьи выходные данные зависят от предыдущих входных данных. В идеале мне никогда не понадобится копировать буфер на стороне клиента и выполнять всю мою работу на GPU. Рассмотрим У меня есть два...

12
Как вычислить нормали поверхности для сгенерированной геометрии

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

12
Как mip-mapping работает с текстурами не-степени-2?

Я слышал, что все последние графические процессоры поддерживают текстуры не-power-2, и все функции просто работают. Однако я не понимаю, как mip-mapping будет работать в таком сценарии. Может кто-нибудь...

11
Быстрое сглаживание линий

Алгоритм линий Брезенхема - это способ рисовать прямые линии, используя только быстрые целочисленные операции (сложение, вычитание и умножение на 2). Тем не менее, он генерирует псевдонимы. Есть ли такой же быстрый способ рисовать сглаженные...