Основы 3D графики и её реализация для игр и кино

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

По сути, это переведение объектов из 3D пространства в плоскость экрана. Давайте дадим определение понятиям. Экран это плоское растровое устройство, которое выводит графическую информацию.

 Теперь давайте рассмотрим, как в принципе геометрия у нас может храниться на хронологическом уровне. То есть в файлах моделей в оперативной памяти, в принципе как угодно… Чаще всего сейчас вся геометрия фигур хранится в дитреугольниках, раньше, как правило, использовали способ хранения воксель, ещё можно хранить геометрию квадами, патчами, или очень простой вариант это облако точек, оно кстати к примеру используется в 3D сканерах и принтерах.

 Теперь давайте поговорим о способах рендринга. Если вы не знаете что такое рендринг, то я сейчас вам объясню. Это процесс, при котором происходит получение изображения при помощи специальных компьютерных программ. Грубо говоря способы рендринга можно поделить на два вида: аппаратный и программный. Сначала мы с вами поговорим про аппаратный. Раньше на первых видеокартах Nvideo например использовался аппаратный способ рендринга патчей. На приставке Sega тоже использовался аппаратный способ 3D графики. Далее в принципе вполне логично что всё пришло в треугольники, и дальше на всех устройствах использовали только треугольники. В обиходе этот процесс называется растеризацией. Кстати существуют даже некоторые узкоспециализированные видеокарты. Например, видеокарты для кинематографа, они могут выполнять трассировку лучей. Такой способ заключается в том что з каждой точки то есть пикселя на экране опускается луч, затем проходит анализ его поведения, и в конечном счёте узнаётся какой цвет попадёт в этот пиксель экрана. Этот способ довольно медленный. Но он даёт наилучшую картинку, поэтому, как правило, именно его применяют в кинематографе. Теперь о программных способах рендринга, в принципе они могут быть какими угодно, раньше рендрили геометрию эллипсами или сферами. В итоге получалась такая стерилизованная картинка. И она помогала избежать алиасинга, то есть, скажем, так квадратности картинки. Которая в любом случае присутствовала на компьютерах того времени. Так же существует способ «Res» который в основном используют для создания 3D фильмов. Можно так же программно рендрить и облако точек и воксели.

 Сейчас программный рендринг может получить программное ускорение, это всё связано с использованием новых технологий в информатике.  К примеру, во многих современных телефонах используются 3D ускорители. Кстати новые игры не будут работать без 3D ускорителя. И скачивать 3D игры на телефон, в котором нет программного ускорителя бессмысленно. Последнее время появляются комбинированные способы рендринга, хотя конечно в основе все современные видеокарты используют треугольники. Ведь из них можно построить любую фигуру более реалистично. Для создания компьютерных игр раньше часто использовали эллипсоидную технологию. В 2000 годах начали использовать воксели, его в основном использовали для изображения ландшафта и рельефов.

 По сути большая часть 3D графики это перенесение вершины из одного 3D пространства в другое. Для этой операции производится отображение на матрицу. Для того что бы умножить матрицу на матрицу матрицы должны быть согласованны. Число строк в одной матрице должно быть равно числу столбцов в другой матрице. Поэтому мы, например не можем умножить матрицу 1х3 на матрицу 4х4. А в 3D графике используются именно матрицы 4х4. Особенно для создания игр для телефона и компьютера. Кстати в современных смартфонах и планшетах используется OpenGl.  Для разработки кросформеных приложений лучше использовать именно его.  Сейчас кстати даже появляются 3D телевизоры, они тоже работаю с применением программных ускорителей.

 Исходя из всего этого, можно смело сказать что у 3D графики очень большое будущее.

 

Обнаружив ошибку в тексте, выделите ее и нажмите Ctrl+Enter