мои 5 копеек:
Не стоит смешивать драйвер с 3д-графикой - вам нужны 2 отдельные вещи.
Если поделка штучная и нужна для закрытого показа, можно брать любой 3д движок. Драйверы обычно делаются с помощью DDK, там есть примеры для разных устройств. Еще мне когда-то попадался в руки некий русский мультидрайвер. Он работает так: устанавливается в систему и организует чтение всяких разных хардварных портов. Приделать к нему по-быстрому свой клиент на порядок проще чем делать драйвер целиком.