frustum culling
-
hallo!
opengl führe ja automatisch einen frustum test für jedes dreieck durch.
wie kann man das abschalten?
-
Frustumtest in Ogl ? Das wäre mir neu. Bist du sicher dass du das nicht mit dem Backfaceculling verwechselst ?
-
IMO prüft opengl jedes dreieck durch...
-
Die Grafikkarte testet noch mal alles durch (auf Sichtbarkeit), das ist aber wichtig (-> geschwindigkeit) und kann nicht ausgeschaltet werden - ich wüsste auch nicht wozu.
M.T.
-
Was für einen Test meinst du Manuel ? Backface-Culling oder ViewFrustum-Culling ?
-
Den Sichtbarkeits-Test für gerendert-werden-sollende (
) Polygone - deshalb ist die BruteForce Methode bei aktuellen Grafikkarten (GF4 / Radeon9k) oft schneller, als genaues Culling mit der CPU.
M.T.
-
das kommt auf die graka an ob das passiert soweit ich weiß, mache karten (wie z.B. geforce) haben einen bandguard, bei dem die, wenn ich das richtig verstanden habe, polygone außerhalb des bildschirm ohne zu klippen weiterhin pinseln, sofern auch nur ein pixel des polys auf dem screen zu sehen ist.
rapso->greets();
-
Original erstellt von Manuel:
Die Grafikkarte testet noch mal alles durch (auf Sichtbarkeit), das ist aber wichtig (-> geschwindigkeit) und kann nicht ausgeschaltet werden - ich wüsste auch nicht wozu.
M.T.Zum Beispiel für Blendig Effekte. Wenn du z.B ein Objekt mit einer transparenten Fläche renderst müssen die da hinter liegenden Flächen sichtbar sein - Auch wenn der Normalvektor vom Betrachter wegzeigt.
Das ganze lässt sich unter OGL übrigens sehr wohl abstellen (Aber frag nicht wie)
-
Die OpenGL Spezifikation beinhaltet keinen Mechanismus, um das Clipping im Viewing Volume abzuschalten.
Aber die "GL_EXT_clip_volume_hint"( http://oss.sgi.com/projects/ogl-sample/registry/EXT/clip_volume_hint.txt ) Extension könnte das sein wonach du suchst. Ist diese Erweiterung verfügbar, setzt OpenGL nach dem Aufruf von glHint(GL_CLIP_VOLUME_CLIPPING_HINT_EXT,GL_FASTEST) voraus, dass das nachfolgende Objekt komplett im Viewing Volume liegt und ein Clipping Test nicht erforderlich ist.
Ist das Clipping deaktiviert und liegt ein Objekt trotzdem ausserhalb des Viewing Volumes, ist das Verhalten jedoch undefiniert.Gruß
Sebastian
-
Achso, ja View-Frustrum culling wahrscheinlich nich (Ist - Wenn vorhanden, dann eher ein Graka Feature gleube ich) - Aber Backface Culling lässt sich AFAIK an/ab-schalten
-
Original erstellt von Cpp_Junky:
Zum Beispiel für Blendig Effekte. Wenn du z.B ein Objekt mit einer transparenten Fläche renderst müssen die da hinter liegenden Flächen sichtbar seinEs geht aber um View-Frustum-Culling. Was Du meinst hat was mit dem Z-Buffer zu tun.
-
Ich glaube für as was du suchst musst du den DepthTest an/ab schalten..