2012-04-07 6 views
4

Ich versuche Portale mit OpenGL über den Stencil Buffer zu realisieren. Die Technik scheint mir einfach genug zu sein: rendere das Portal in den Stencil-Puffer, rende die Szene von der virtuellen Kamera hinter dem Zielportal (beschränkt auf den Stencil-Puffer), rende das Portal in Tiefenpuffer, rendere Normalansicht.Portale in OpenGL mit Stencil Buffer - Wie vermeidet man, Dinge vor dem Portal zu zeichnen?

Wenn ich es jedoch so mache, werden Objekte zwischen der virtuellen Kamera und dem Zielportal vor dem Portal gezeichnet, was zu einem falschen Bild führt (da ich nur die Objekte zeichnen möchte, die durchgesehen werden können) das Portal - die "hinter" dem Portal. Wenn ich direkt auf das Portal schauen würde, könnte ich einfach die nahe Clipping-Ebene verwenden, aber für willkürliche Ansichten scheint das nicht zu funktionieren.

Für eine bessere Erklärung, hier ist eine Zeichnung von meinem Problem:

Portal problem drawing http://www.42prozent.de/ss/portalproblem.png

Antwort

4

Vielleicht glClipPlane ist, was Sie wollen? Oder Sie können einen Blick auf Oblique Near Plane Clipping werfen, um zu versuchen, etwas funky Projektionsmathematik zu tun, die Ihr nahes Flugzeug ändert, um das des Portals zu sein.

+0

Danke! Das scheint genau das zu sein, wonach ich gesucht habe. :) Ich werde wieder schreiben, nachdem ich bestätigt habe, dass es funktioniert. – Hovering

Verwandte Themen