WebGL iscrtava konačnu sliku tako što koristeći nizove zadatih vrednosti iscrtava određene primitive. WebGL podržava tri vrste primitiva: tačke, linije i trouglovi, ali i sedam načina za njihovo iscrtvanje. U nastavku je dat pregled svih mogućih vrednosti koje se mogu pojaviti kao parametar prilikom poziva funkcija za iscrtavanje.
Za svaki vertex se iscrtava jedan piksel.
gl.drawArrays(gl.POINTS, 0, 4)
Za po svaka dva vertex-a redom se iscrtava linija.
gl.drawArrays(gl.LINES, 0, 4)
Po dva vertexa se povezuju linijom, tako da je početak naredne linije kraj prethodne.
gl.drawArrays(gl.LINE-STRIP, 0, 4)
Po dva vertexa se povezuju linijom, tako da je početak naredne linije kraj prethodne s tim da se poslednji vertex povezuje sa prvim.
gl.drawArrays(gl.LINE-LOOP, 0, 4)
Za po tri susedna vertexa se iscrtava trougao.
gl.drawArrays(gl.TRIANGLES, 0, 4)
Za po tri susedna vertexa se iscrtava trougao, ali se za naredni koriste poslednja dva temena prethodnog trougla.
gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4)
Za po tri susedna vertexa se iscrtava trougao, ali se za naredni koristi poslednje teme prethodnog i svi trouglovi imaju jedno zajedničko teme - prvi vertex (fan ili lepeza).
gl.drawArrays(gl.TRIANGLE_FAN, 0, 4)
Izbor primitiva zavisi od željenih rezultatai i performansi. Na osnovu ovih ilustrativnih primera (posebno poslednja dva) se vidi da je programeru ostavljena odgovornost da WebGL-u obezbedi ispravne podatke (redosled temena) i instrukcije kako bi se dobili željeni rezultati.