Программная поддержка OpenGL означает, что если устройство поддерживает какую-то функцию, то она выполняется аппаратно, если нет — библиотека выполняет её программно. 3 Например, если приложение использует текстурирование в реализации OpenGL, в которой соответствующей аппаратной поддержки нет, эта операция будет выполняться программно. 1
Аппаратная поддержка предполагает, что выполнение примитивов OpenGL происходит на аппаратном уровне, что возможно благодаря наличию графических карт с ускорителями и специализированных 3D-карт. 5 В этом случае процессор обрабатывает игровые процессы, а рендеринг трёхмерной модели выполняет графический процессор (GPU). 4
Таким образом, основное отличие в том, что программная поддержка позволяет использовать интерфейс OpenGL на относительно маломощных системах, а аппаратная обеспечивает более высокую производительность за счёт использования специальных аппаратных ресурсов.