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

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

2
Как построить приличную модель объектива / камеры для трассировки пути?
Я написал небольшую трассировку после обучения и экспериментов на smallpt . Единственное, что я сам не написал (и не понял), это то, как исходные лучи вычисляются и запускаются из камеры. Я правильно понял принцип, но я ищу некоторые ресурсы, описывающие, как: Вычислить начальное направление лучей Смоделировать реальный объектив (в отличие …

1
Почему эффективность работы желательна в программировании на GPU?
Я читал следующую статью о том, как сделать параллельное сканирование в CUDA: https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch39.html В статье делается акцент на том, чтобы сделать сканирование «эффективным». Другими словами, алгоритм GPU должен выполнять не больше дополнений, чем алгоритм CPU, O (n). Авторы представляют два алгоритма, один «наивный», который делает O (nlogn) дополнения, и один, …

3
Raytracing не в реальном времени
Я немного поиграл с трассировкой лучей в реальном времени (и лучевой трассировкой и т. Д.), Но не тратил так много времени на трассировку лучей не в реальном времени - для изображений более высокого качества или для предварительного рендеринга видео и тому подобного. Я знаю одну распространенную технику для улучшения качества …

4
Когда кватернионы должны использоваться для представления вращения и масштабирования в 3D?
Кватернионы (четырехмерное расширение комплексных чисел) могут использоваться для представления поворота и масштабирования трехмерного вектора, а применение кватерниона к трехмерному вектору включает в себя два умножения кватернионов, что требует меньше операций, чем умножение на соответствующую матрицу преобразования. Однако вместо этого часто используются матрицы линейного и аффинного преобразования, особенно в шейдерном коде. …

3
Что такое «Scanline Racing»
Я слышал, что многие люди, работающие над виртуальной реальностью, рассказывают о гонках по сканлайну и о том, что это должно помочь улучшить задержку при движении к фотону. Однако мне не ясно, как это можно сделать с помощью OpenGL. Может кто-нибудь объяснить, как работает Scanline Racing, и как это можно реализовать …


3
Как сглаживание реализовано в трассировке лучей?
Прочитав несколько статей в Интернете, я могу с уверенностью сказать, что не знаю, как работает сглаживание, когда Рэй Трассинг работает . Все, что я понимаю, это то, что один пиксель / луч разделен на 4 субпикселя и 4 луча, а не 1 . Может кто-нибудь объяснить, как это делается (желательно …


1
Почему в два раза дороже создать шумовую функцию, которая может быть выложена плиткой?
В нескольких местах я видел, что для бесшовной петли шума Перлина требуется дважды рассчитать ее несколько различными способами и суммировать два результата. Этот FAQ по математике в Perlin дает формулу: Fл о о р( х , у, z) = ( t - z) ⋅ F( х , у, z) + …
13 algorithm  noise 

3
Почему четверки используются в кинопроизводстве, а треугольники в играх?
В киношколе, на уроках трехмерного моделирования, мне говорили, что когда мы моделируем что-то для фильмов, мы поддерживаем топологию четырехугольных полигонов. Любой многоугольник, имеющий более или менее 4 ребер / вершин, считается плохим, и его следует избегать. Если в играх используется одна и та же модель, то она триангулирована. Хотя я …
13 3d  mesh  triangulation 

3
Чем объясняется высокая зеркальность металлов?
Насколько я понимаю, зеркальный цвет обычно относится к количеству света, который отражается, когда поверхность освещается при нормальном падении, и обозначается как или . Кроме того, для неметаллических материалов это значение рассчитывается из показателя преломления материала по формуле, выведенной из уравнений Френеля (в которой 1 - показатель преломления воздуха или пустоты): …

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

2
Почему графика говорит о «диэлектриках», а не об изоляторах?
Например, документация Filament по адресу https://google.github.io/filament/Filament.md.html использует термин «диэлектрики» при сравнении непроводников с проводниками, которые он называет «металликами». И здесь, на stackexchange, /computergraphics//search?page=2&tab=Relevance&q=dielectric также производит много попаданий для "диэлектрика". Я бы обычно ожидал слово «изолятор» в этих случаях. Происходит ли «диэлектрик» из какого-то исторического источника, или это точный термин для …
12 material 

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

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

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