10 Sec-Scan durch den Code: Bist Du sicher, dass Du keine Textur siehst? Vielleicht brauchst Du nur eine sehr sehr gute Brille. Skeptisch macht mich, dass Du keine Positionierung nach dem glLoadIdentity vornimmst... allerdings ist dies durchaus korrekt, wenn man sieht, dass Du die Projektionsmatrix im orthogonalen Modus setzt in der Größe der Zeichenfläche. Bitte bedenke aber was Du damit erreichst! Du nutzt keinen 3D-Raum mit Welteinheiten mehr, sondern einen 2D-Raum (ausgehend von links unten) in Pixeln. Entsprechend wird dein Quad links unten in einer Größe von round about einem Pixel generiert und auf Grund von Filtern und der ohnehin bereits sehr dunklen Textur wird davon wohl kaum mehr übrig bleiben als ein vielleicht sehr leicht aufgedunkeltes Schwarz. Gebe als die Vertex-Daten des Quads im orthogonalen Modus einmal in Pixeln an. Dies schließt nicht aus, dass evtl. weitere Fehler enthalten sind. Sollte dies immer noch nicht zum gewünschten Ergebnis führen, solltest Du in jedem Fall feststellen, ob das ganze mit einer "normalen" Projektionsmatrix funktionert. Bekommst Du dort dein Quad gezeichnet, kannst Du versuchen den ortogonalen Modus zu verwenden.
Tipp: Schwarz als Clearcolor wird verwendet, da es ein guter Kontrast darstellt und daher bei Beispielen "besser" ausschaut. Bei der Tatsächlichen Entwicklung ist es oft besser ein sehr dunkles Blau (0.3=
RGB) zu nehmen, da viele Dinge darauf besser zu sehen sind.