18

Вся ли компьютерная графика отображается с использованием полигонов? Я имею в виду, что некоторые компьютерные геометрии математически представлены в виде уравнений (например, программное обеспечение САПР).

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

Редактировать: я думаю, более конкретно сосредоточены на GPU. Как доза GPU это делает? какие входные дозы требуются, то есть, с какими модельными форматами работает GPU? может ли он использовать идеальное математическое представление напрямую или дозировать тесселяцию самой модели перед тем, как фактически отобразить экран, или дозировать графический процессор, для чего требуется тесселированная модель.

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

5 ответов5

7

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

Здесь также есть ссылка « Критическая история компьютерной графики и анимации» .
Вы можете перейти к интересующему разделу со страницы их содержания.


Обновление: мне интересно, основан ли ваш вопрос на концепциях, связанных с этим сайтом UnlimitedDetail .

Большинство современных 3D-графики основаны на том, что называется системой полигонов; это система, которая строит вещи из маленьких плоских форм, называемых полигонами.

...

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

так далее...

2

Если вы действительно хотите углубиться в механику графического процессора и методы рендеринга, то в Интернете можно найти следующую книгу:

GPU Gems 3, Addison-Wesley Professional (12 августа 2007 г.)

Графический процессор Gems 3 отредактирован Хьюбертом Нгуеном, менеджером по образованию разработчиков в NVIDIA. Хьюберт - графический инженер, который работал в демоверсии NVIDIA, прежде чем перейти на свою нынешнюю должность. Его работы представлены на обложках GPU Gems (Addison-Wesley, 2004) и GPU Gems 2.

GPU Gems 3 - это коллекция самых современных примеров программирования на GPU. Речь идет о применении параллельной обработки данных. Первые четыре раздела посвящены графическим приложениям графических процессоров в областях геометрии, освещения и теней, рендеринга и эффектов изображения. Темы в пятом и шестом разделах расширяют сферу применения, предоставляя конкретные примеры неграфических приложений, которые теперь могут быть решены с помощью технологии параллельных данных GPU. Эти приложения разнообразны: от моделирования твердого тела до моделирования потока жидкости, от сопоставления сигнатур вирусов до шифрования и дешифрования, от генерации случайных чисел до вычисления гауссовских.

Предыдущие выпуски также онлайн и все еще очень достойны чтения:

Gem Gem: методы программирования, советы и рекомендации для графики в реальном времени, под редакцией Рандимы Фернандо, март 2004 г.

GPU Gems 2: Техника для графического и компьютерного интенсивного программирования, под редакцией Мэтта Фарра, март 2005 г.

Программирование вершин, геометрии и пиксельных шейдеров, второе издание, Вольфганга Энгеля, Джека Хоксли, Ральфа Корнмана, Нико Суни и Джейсона Зинка, декабрь 2008 г.

Последний - неровный набросок книги, но чрезвычайно ценный в некоторых местах. Глава по освещению Джека Хоксли дает подробные объяснения различных моделей освещения, а также рабочий код шейдера.

2

Это продолжение вашего комментария к ответу @ nik:

Подавляющее большинство CAD-систем используют полигоны (хорошо треугольники) для визуализации своих моделей.

Они будут хранить модели различными способами на основе моделей CSG (Конструктивная сплошная геометрия) или B-rep (Граничное представление), например, но когда дело доходит до отображения, они будут огранены, а треугольники отправлены в графический процессор для рисования. ,

Каждая система будет иметь свое собственное решение для разбиения модели на треугольники.

1

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

Чтобы полностью понять эту процедуру, вы должны прочитать статью в Википедии, которая уже упоминалась.

ред .: я больше не уверен в своей интерпретации того, что вы подразумеваете под "тесселяцией объекта". Если возможно, не могли бы вы объяснить это подробно?

1

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

Например, некоторые графические процессоры предоставляют полные интерфейсы представления трехмерного мировоззрения, в то время как другие менее способны.

ASIC (и не только) лежат в основе того, как GPU делают свое волшебство сегодня. Способность внедрять в кремний такие сложности, как полностью работающие виртуальные машины в подпрограмме, - вот что заставляет всю магию происходить. Помимо тесселяции, есть логика поверхностей, теневое копирование и многое другое, которые обрабатываются в логике GPU.

Надеюсь это поможет!
-pbr

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .