Я знаю, что "за ширмой" работают шейдеры. И даже возился с ними (когда на webGL одну хрень делал).
Но вот что скажу: вручную работать с шейдерами — это не мазохизм, это пованивает реальным идиотизмом! И поэтому матерюсь на реализаторов webGL: ну неужто эти кони GLUT не могли использовать?
Какие, нафиг, шейдеры? GLUT — и не нужно мазохизмом страдать!
упоролся чтоли?
во-первых есть куда более удобные инструменты такие как glew,
а во-вторых glut гавно, которое надо закопать и никому не опказывать...
по теме: начни с изучения инициализации и простейших шейдеров с modelview преобразованиями... потому как в 3 ветке GL полностью ушли от ffp и теперь все ручками надо делать.. по сути OGL всех версий работает по одному принципу