• programista musiał posiadać wiedzę na temat programowania grafiki, w tym języka shaderów
• dane musiały być przekazywane w „nienaturalnej” postaci, tj. współrzędnych wierzchołków, pikseli tekstur
• API nie udostępniało możliwości swobodnego odczytu / zapisu pamięci, co istotnie ograniczało możliwe zastosowania
• brak obsługi obliczeń na liczbach zmiennoprzecinkowych podwójnej precyzji dodatkowo ograniczał zastosowania