Das würde ich mir auch wünschen (direktes Rendern in eine Cube-Map).
Es gibt die Möglichkeit, mit Geometry Shadern zumindest jedes Dreieck nur einmal an die Karte schicken zu müssen, im Prinzip ist das nur 1 Pass. Im Shader musst du dann schauen, welche Faces ein Dreieck abdeckt.
Hab ich auch schon von gelesen, allerdings hat man immer noch 6 Pässe beim Fragmentshader, was glaub ich das rechenintensivste ist.
Ist die Frage welche Methode effektiver ist, mit der Methode mit Geometry Shader würde man der Lokalität der Vertexdaten entgegenkommen, mit 6 komplett getrennten Pässen würde man eventuell der Lokalität der Cubemap-Textur entgegenkommen (nicht sicher wie diese intern angelegt ist, aber durch die initialisierung würde ich Schätzen dass die im Speicher einfach als 6 2D-Texturen vorzufinden ist).
Ich könnte mir vorstellen, dass die Methode mit Geometry-Shader nochmal etwas schneller ist, da eine Textur sich AFAIK wesentlich besser für Random-Access eignet als der Speicher in dem die Vertex-Daten stehen.
edit: @dot: Danke für die Infos, allerdings schon bekannt