Чистые устройства

В DirectX 8.0 представлена концепция "чистого" устройства. При использовании чистого устройства среда выполнения не отслеживает состояние или блоки состояний и не выполняет программную обработку вершин от имени оборудования. Кроме того, приложение не может запрашивать обратное состояние из среды выполнения. Отсутствие отслеживания состояния, особенно при использовании блоков состояний, может привести к значительному повышению производительности приложения.

Только обработка вершин, напрямую поддерживаемая оборудованием, доступна приложению при использовании чистого устройства. Например, для карт, которые не поддерживают аппаратное преобразование и освещение, в Direct3D можно передавать только предварительно преобразованные вершины. Кроме того, функции API SetClipStatus, GetClipStatus и ProcessVertices нельзя использовать с чистым устройством.

Чтобы использовать чистое устройство, приложение должно запросить его с флагом создания устройства D3DCREATE_PUREDEVICE а драйвер должен сообщить о своей способности действовать как чистое устройство.