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

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

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

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

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

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

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

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

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

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

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

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

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

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

1
Каков принятый метод преобразования блеска в шероховатость и наоборот?
Большинство современных визуализаторов используют физически основанные материалы, а их модели часто параметризуются по шероховатости. Поскольку с рендерами это не всегда так, обычные активы часто не имеют понятия шероховатости. Вместо этого мы видим «блеск» или «зеркальную силу» как общий материальный параметр. Я понимаю, что нет точного преобразования между ними, но есть …
12 specular  brdf  pbr 

1
Требуется ли для выборки в косинус-взвешенном полушарии NdotL при расчете вклада для непрямого света?
При переходе от выборки из однородного полушария к выборке из косинус-взвешенного полушария меня смущает высказывание в статье. Мой текущий косвенный вклад рассчитывается как: Vec3 RayDir = UniformGenerator.Next() Color3 indirectDiffuse = Normal.dot(RayDir) * castRay(Origin, RayDir) Где скалярное произведение cos (θ) Но в этой статье о лучшей выборке ( http://www.rorydriscoll.com/2009/01/07/better-sampling/ ) автор …

1
Что именно делает makeContextCurrent?
Я довольно смущен этой функцией. Контекстная ссылка GLFW гласит следующее: Эта функция делает контекст OpenGL или OpenGL ES указанного окна текущим в вызывающем потоке. Контекст может быть актуальным только для одного потока за раз, и каждый поток может иметь только один текущий контекст за один раз. Но это мне мало …
12 opengl  c++ 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.