Jap, eben. Habe je OpenGL 1.4, 2.1 und 3.0 als Schnittstellen definiert und es war anhand der Referenzen überhaupt kein Problem auf 3.0 zu erweitern, da sich der Sprung von 2.1 -> 3.0 doch ziemlich in Grenzen hält, wenn man auch in 2.1 schon 100%ig auf Shader gesetzt und nicht etwa gemischt hat oder ähnliches. Der eigentlich deutlich größere Aufwand war die sinnvolle Nutzung der neuen Features wie Geometry-Instancing & Co., da die Demos zwar schon alle schön aussehen, wenn man aber auf den Boden der Tatsachen zurückkehrt das Ganze aber nur in sehr bestimmten Fällen lohnt.
So lohnt es auf meiner Grafikkarte zum Beispiel sehr wohl einen Baum mit 1,000 Polygonen mit 100 verschiedenen Matrizen via Instancing zu zeichnen, da man hier natürlich schlagartig aus 100 Aufrufen einen machen kann. Auf der anderen Seite würde es aber zum Beispiel nicht lohnen (mit den aktuellen Treibern/der HW) 100 Bäume mit 10,000 Polygonen ebenfalls damit zu zeichnen, da hier der Overheads des GI größer ist als der Gewinn, da es halt nunmal für alle Vertices durchlaufen werden muss und in dem Fall dann weitere DrawCalls günstiger gewesen wären.
Um zurück zum Thema zu kommen: Mach dir keinen Kopf über den Sprung von 2.1 -> 3.0, das ist eine Sache von einem Tag wenn in 2.1 auch schon alles shader-basiert war und die nötigen Infos findest du auf der OpenGL.org-Seite. Mach dir eher ein Kopf darum, wie du die erweiterten Möglichkeiten auch einsetzen kannst, denn sonst bringt es dir ja auch nichts :-).
In diesem Sinne LG
Alyx