Функционирование ускорителя трехмерной графики

 Рубрика: Видеоадаптеры и ускорители

С технической точки зрения трехмерная (3D) графика — это система визуального представления сцены или объекта в 3-х мерной системе координат (высота, ширина и глубина), которая используется с целью более реалистичного отображения информации. Эта технология позволяет пользователям компьютера на двухмерном экране видеть трехмерное изображение. Спрос на трехмерную графику непрерывно увеличивается. Трехмерная визуализация используется во многих высококачественных играх, в деловых презентациях и мультимедийных приложениях. Однако использование трехмерной графики предполагает не только передачу огромного объема данных через шину расширения компьютера. Трехмерная визуализация требует сложных математических вычислений, определяющих цвет, наложение различных эффектов и преобразование трехмерной модели в 2-х мерную плоскость экрана. Практически во всех случаях эти задачи необходимо выполнять в реальном масштабе времени (с частотой обновления 25 кадров в секунду и быстрее). В настоящее время большинство видеосистем модернизируются для поддержки 3-х мерной анимации (необходимой, например, в компьютерных играх, таких как Quake III или Morrowind). В этой части-тлавы рассматриваются некоторые ключевые моменты процесса 3-х мерной визуализации и ускорения этого процесса.
Процесс трехмерной визуализации
Чтобы 3-х мерный объект вывести на экран в реальном масштабе времени, сначала его необходимо представить в виде точек в 3-х мерной системе координат, где каждая отображаемая точка будет иметь координаты х,уи& Объектом отображения может быть автомобиль, летящий самолет или сложный трехмерных мир. Точки каждого объекта, полностью задающие его положение в пространстве, хранятся в системной памяти. Для того чтобы отобразить объект на 2-х мерном экране, необходимо сформировать его изображение (визуализировать).
Визуализация (рендеринг) — это процесс вычисления координат и цвета каждого пиксела с целью имитации трехмерного изображения • на плоском экране монитора . Визуализация включает в себя также построение поверхностей объектов, которые были заданы в виде набора вершин. При этом для усиления эффекта трехмерного изображения используются различные эффекты: освещение и затенение объектов, а также наложение дымки. Для визуализации объекта необходимо вычислить информацию о цвете и координате каждой его точки. Для эффективного выполнения этой работы поверхность объекта представляется в виде набора треугольников, а эти треугольники (наборы из трех вершин) затем пропускаются через конвейер обработки трехмерной графики. Процесс трехмерной визуализации включает в себя следующие этапы:
■ Разбивка 3-х мерного объекта на треугольники. В этом процессе 3-х мерный объект делится на треугольники (наборы трех вершин)
■ Трансформация. Перемещение, вращение и изменение масштаба объекта исходя из утла зрения камеры. На этой стадии производится большой объем математических вычислений.
■ Отсечение по границам кадра. Отсечение всех частей объекта, которые оказываются за пределами окна наблюдения. Этот процесс также включает в себя большой объем математических вычислений.
■ Освещение. Процесс вычисления световых и теневых участков поверхности объекта в зависимости от места расположения источников света в 3-х мерном мире. Этот этап визуализации может включать в себя использование и других эффектов, например, наложение дымки.
■ Отображение треугольников на экран. Разделенный на треугольники, трансформированный, отсеченный по границам и освещенный объект проецируется на 2-х мерный экран монитора. Треугольники, находящиеся дальше от наблюдателя будут меньше тех, которые расположены ближе к наблюдателю.
■ Рисование треугольников. Треугольники рисуются на экране с использованием различных методик отображения теней и текстур. Этот процесс, занимающий много времени, завершает отображение картинки, которая наблюдается на экране монитора. Весь процесс визуализации должен повторяться для каждого кадра, генерируемого игровой программой или другим приложением.