Для повышения реалистичности при отображении граней используются различные методы их закраски и текстурирования. Таким образом, модель в процессе вывода на отображающее устройство подвергается последовательности преобразований, называемой видовым или графическим конвейером (а также просто конвейером).
Библиотеки OpenGL и DirectX обеспечивают реализацию всех этапов графического конвейера при помощи центрального процессора, без использования аппаратного ускорения графических операций. Но в настоящее время такой режим работы используется только в целях отладки. Наиболее трудоемкие операции конвейера выполняются графическим ускорителем. Сегодня графические ускорители создаются не в виде отдельного аппаратного блока, связанного с видеоадаптером через дополнительный разъем, а как установленный на плате графического адаптера специализированный процессор, который называется GPU (Graphical Processor Unit) или VPU (Visual Processor Unit). Ускоритель должен выполнять матричные операции с вершинами граней (перенос, вращение, проецирование, вычисление цвета и пр.) и выполнять растровую развертку примитивов (определять координаты пикселов и вычислять их цвет с учетом цвета вершин и наложенных на грань одной или нескольких текстур).
Процессоры разных производителей имеют различные архитектуры. У них могут различаться системы команд, количество программно-доступных регистров и уровень распараллеливания операций. В последнее время происходит определенная унификация архитектуры графических ускорителей. Это позволило разработчикам библиотек предоставлять прикладному программисту доступ к регистрам и системе команд ускорителя. Таким образом, разработчик может самостоятельно запрограммировать действия ускорителя при расчете освещенности, наложении текстуры или положиться на стандартные библиотечные процедуры.
Предварительные сведения
Графические библиотеки предоставляют унифицированные языки уровня ассемблера и языки высокого уровня с синтаксисом, подобным синтаксису языка С, позволяющие прикладному программисту составлять программы работы графического процессора - шейдеры. Такая унификация обеспечивает возможность работы приложения на компьютерах с разными ускорителями и способствует дальнейшему сближению архитектур графических процессоров.