Персональный суперкомпьютер
Илья
0
21 апреля 2006
К тому, что современные игры не могут обойтись одним лишь центральным процессором (Central Processing Unit, CPU[CPU – central processing unit]), без поддержки видеокарты, мы привыкли настолько, что это считается само собой разумеющимся. Сегодня никого не удивляет анонс очередного графического чипа (Graphics Processing Unit, GPU[GPU – graphics processing unit]) производительностью несколько сотен гигафлопс[gflops – миллиард арифметических операций с действительными числами в секунду]. А ведь самые дорогие CPU, даже серверные, едва ли могут похвастаться и десятой долей этой числодробильной мощности. Как образовался такой колоссальный разрыв в скорости счета? Почему главная роль в компьютере, роль "мозга", по-прежнему остается за CPU, тогда как GPU не простаивает только во время кровавых игрищ? Что мешает задействовать GPU в "мирных" целях, превратить его в настоящий комбайн, выполняющий огромное количество задач, отличных от рендеринга, и ведется ли какая-нибудь работа в этом направлении? Чтобы обстоятельно ответить на эти и другие вопросы, нам необходимо вспомнить основы устройства графической подсистемы. Ее работа организуется в форме конвейера. Информация проходит все стадии конвейера, прежде чем преображается в видимый на экране образ. В самом начале располагается блок обработки вершин трехмерной сцены, целью которого является выработка данных о каждой вершине: ее положение в экранной системе координат, пара цветов (диффузный и зеркальный), до восьми текстурных координат. Следует напомнить, что текстурными называют координаты на отдельно хранящемся растровом изображении (текстуре). Их задание в каждой вершине треугольника позволяет привязать нужную часть изображения к этому треугольнику. Входные данные отдельно для каждой вершины поступают от программного приложения. Как правило, передаются координаты и нормали вершин в системе модели, которые по известным характеристикам, положению и направлению взгляда камеры трансформируются в экранные координаты. Цвета определяются взаимным расположением вершины, камеры и источников освещения. Отсюда и принятое название: блок трансформации и освещения (T&L). Обработка вершин происходит независимо, здесь система еще не знает, как они связаны между собой.