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

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

3
Каково современное состояние геометрического LOD в играх?
Как современные игры делают уровень детализации геометрии для таких объектов, как персонажи, ландшафт и листва? На мой вопрос есть две части: Как выглядит конвейер активов? Делают ли художники высокополигональную модель, которую потом уничтожают? Если да, то какие алгоритмы прореживания наиболее популярны? Сетки LOD иногда делаются вручную? Как двигатели переходят между …
15 geometry 

1
Как вычисляются уровни mipmap в металле?
Мой вопрос касается конкретно Metal, так как я не знаю, изменится ли ответ для другого API. То, что я считаю, я понимаю до сих пор это: Текстура с mip-map имеет предварительно вычисленные «уровни детализации», где более низкие уровни детализации создаются путем понижения исходной текстуры каким-либо значимым образом. Уровни MipMap упоминаются …

1
преимущество перлин-шума над уровнем шума
Исследуя внутреннюю работу перлин-шума, я удивлялся, почему можно использовать перлин-шум вместо простого значения шума. Насколько я правильно понимаю, применимо следующее: Шум Перлина - это шумовая функция на основе решетки, которая назначает n-мерный градиент (случайный для исходной реализации, фиксированный для улучшенной) для каждой точки в базовом шумовом пространстве. Теперь вы можете …
14 noise 

1
Почему графические процессоры все еще имеют растеризаторы?
Несмотря на достижения, современные графические процессоры все еще имеют фиксированные растеризаторы. Настраиваемый, с программируемыми шейдерами, но не полностью программируемый. Это почему? Почему графические процессоры не могут быть просто массово параллельными устройствами с универсальными вычислительными устройствами, где растеризатор - это просто программное обеспечение для этого устройства, предоставляемое пользователем? Является ли аппаратное …
14 gpu  rasterizer 

1
Получить длину вектора с GLM
Я очень озадачен тем, как ведет себя библиотека GLM или неправильно ее использую. glm::vec2 testVec(6,-4); float len = testVec.length(); Я получаю значение 2с помощью приведенного выше фрагмента кода. Я полагаю, что я пытаюсь получить длину вектора, определенного testVec. Вы очень хорошо знаете, что это не правильная длина вектора. Что мне …
14 c++  vectors  glm 

2
В чем разница между различными кривыми заполнения пространства?
Кривые заполнения пространства важны во многих графических приложениях, потому что они помогают раскрыть пространственную локализацию. Мы часто слышим о различных алгоритмах, использующих Z-кривые, коды Мортона, кривые Гильберта и т. Д. Каковы различия между некоторыми из этих разных кривых и как они применяются в различных приложениях?

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

1
Является ли постоянное состояние более дорогостоящим, чем переключение шейдеров?
Вообще, ветвление в шейдерах не очень хорошая идея. Но теперь у меня есть шейдер с условием, которое является постоянным по отношению ко всему вызову отрисовки. Таким образом, выполняемая ветвь всегда одинакова для одного вызова отрисовки. Является ли такой вид ветвления еще более дорогостоящим, чем использование нескольких шейдеров без этих ветвей …

1
Является ли шум на основе сетки неизбежно анизотропным?
Мне интересно, как это относится и к большему количеству измерений, но в этом вопросе я сосредоточусь исключительно на 2D сетках. Я знаю, что шум Перлина не изотропен (не зависит от направления), и что лежащая в основе квадратная сетка проявляется достаточно, чтобы определить ее ориентацию. Симплексный шум является улучшением этого, но …
14 noise  grid 

1
Нужен авторитетный источник для формулы по форме горизонта Земли
Что я прошу Я подчеркиваю, что я не прошу формулу - я знаю формулу и как ее получить. Несколько разных его версий воспроизведены в конце поста. На самом деле, кто-то еще не только вывел его, но и представил один из выводов здесь . Мне нужен авторитетный источник формулы, чтобы, например, …

1
Текстуры поиска все еще используются для чего-либо?
Я не так давно (5-10 лет?) Знал, что было популярно / эффективно запекать данные в текстуры, а затем считывать данные из текстур, часто используя встроенную интерполяцию текстур, чтобы получить линейную интерполяцию запеченных. данные. Теперь, когда время вычислений дешевле по сравнению со временем поиска текстур, эта практика определенно уменьшилась, если не …
14 texture  gpu  hardware 

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

6
Как сделать простые 2D-иллюстрации, чтобы сопровождать ответы по геометрии?
В своем ответе об аффинных преобразованиях я сделал несколько небольших иллюстраций, чтобы помочь объяснению. Как быстро создать PNG с возможностью загрузки, которая выражает геометрическую или математическую идею? Этот вопрос был придуман, чтобы поддержать мой постскриптумный ответ, но он предназначен для поиска других решений, которые могут принести пользу сети SE в …
14 2d 

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

1
Совместимость с OpenGL, соглашения об именах и ARB против EXT
Я думал, что сформировал общее понимание того, как работают соглашения об именах OpenGL и расширения, пока не наткнулся на случай, который смутил меня. Вот мое понимание до сих пор: Нет суффикса - например glGenBuffers(). Эта функция является частью основного профиля. На вики-странице сказано, что это было добавлено в основной профиль, …
14 opengl 

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