Войти
3DTetraWavesФорумОбзор существующих алгоритмов

Классическая полигональная графика (DirectX, OpenGL)

#0
9:13, 19 окт. 2012

В классическом представлении, геометрия трехмерного пространства задаётся множеством точек и множеством треугольников, вершины которых взяты из множества точек. Графический процессор производит пересчёт координат точек использую матрицу преобразования пространства, а затем растеризует всё множество треугольников используя ZBuffer.
При этом существуют ограничения на количество точек и количество треугольников, связанные с производительностью графического процессора и его объема памяти. В связи с этим для отображения пространств выходящих за рамки ограничений, используются специальные алгоритмы, динамически изменяющие множества точек и треугольников. Это могут быть как алгоритмы заново создающие множество точек и треугольников, так и заменяющие сушествующие элементы новыми.
Классический подход отлично себя зарекомендовал при использовании его для создания игр с трёхмерной графикой, таких где вся геометрия отображаемого пространства помещается в памяти графической карты и только лишь небольшое количество динамических объектов приходится персчитывать и изменять их координаты и/или геометрию. В таких играх наблюдатель перемещается как павило в ограниченном пространстве, а смена пространства действия происходит путём длительной загрузки полностью новой геометрии.
Использование библиотек и SDK для DirectX и OpenGL, значительно облегчает и ускоряет процесс разработки таких игр. Однако и накладывает ряд ограничений. Использование описанного алгоритма без специально для этого заточенной архитектуры графической карты, не представляет интереса, так как всё процесорное время будет потрачено на пересчёт координат точек и сравнение пикселей треугольников с ZBuffer'ом.
Для того чтобы иметь возможность работать без ограничений модели DirectX'а и OpenGL'я, можно попытатся ограничится использованием только базовой функциональностью этих библиотек, а именно возможностью использовать для растеризации треугольников мощности графической карты.


3DTetraWavesФорумОбзор существующих алгоритмов

Тема в архиве.