Entwickler-Ecke

Multimedia / Grafik - opengl: das was zuletzt gezeichnet wird ist im vordergrund


kuhlthomas - So 12.10.03 21:14
Titel: opengl: das was zuletzt gezeichnet wird ist im vordergrund
die dinge die ich zu letzt rendere sind immer im vordergrund ich will aber nur das im vordergrundhaben was auch dahin gehört (logisch oder? :roll: )
kann mir jemand helfen?


Phobeus - Mo 13.10.03 08:30

Nein, den deine Fragestellung gleicht je nach angestrebten Ziel einer mittelschweren Erörterung als Facharbeit . Warum gehen soviele davon aus, dass man sich gerne die Zeit nimmt sich mit solchen Problemen zu befaßen, wenn keine genaueren Informationen vorliegen? Verstehe das nicht (logisch oder :roll: )

Um eine simple all-round-Antwort zu geben. Wenn es im Vordergrund sein soll, warum machst Du es den nicht? Solltest Du einen ZBuffer (Tiefenbuffer) verwenden, wird es sofort im "Vordergrund" gezeichnet, so dass Du Dich nicht mal direkt darum kümmern mußt. Solltest Du aus Gründen wie z.B. Alpha Blending benätigen, dass Objekte auch ohne aktiven ZBuffer vorne gerendert werden, so mußt Du diese einfach in der richtigen Reihenfolge rendern... sorry, mehr Hilfe ist bei einer so wagen Zieldefinition nicht machbar...


Udontknow - Mo 13.10.03 14:08

Weiss nicht, wie es in OpenGL ist, aber in DirectX ist es so, daß, sobald der ZBuffer aktiviert ist, man sich nicht um die Reihenfolge der Zeichenbefehle kümmern muss, die einzelnen Texel werden korrekt ihrer Tiefe entsprechend gerendert; Das von dir beschriebene Verhalten tritt bei DX genau dann ein, wenn er deaktiviert ist.

Cu,
Udontknow


Raphael O. - Mo 13.10.03 17:02

sit in OpenGL genauso...
mach mal folgendes:

Quelltext
1:
glEnable(GL_DEPTH_TEST);                    


kuhlthomas - Do 16.10.03 21:01

super:
so klappts danke für die antwort