ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4422327
Jetzt (Chat):
16 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-

ZFX
Coding-Foren
OpenGL API + SDL
Wie teuer ist was
NormalSeite: 1 2 >
AutorThema
Vevusio Offline
ZFX'ler


Registriert seit:
29.06.2004

Österreich
Wie teuer ist wasNach oben.
so allgemein in opengl

wonach sollte man bei seinem scene graph sortieren?

und bringt es etwas den zbuffer abzuschalten, dann die skybox zu rendern und ihn dann wieder einzuschalten oder kann man sich das sparen?
18.03.2008, 20:18:34 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

Zitat:
wonach sollte man bei seinem scene graph sortieren?

Ich habe gute Erfahrungen gemacht mit doppelter Sortierung (for opake Objekte):
1. Shader
2. Front-To-Back
bzw
1. Back-To-Front
2. Shader
für halbtransparente Objekte.

ZBuffer: Ich würde einen Z-Prepass rendern, was die ganze Geschichte etwas einfacher macht. Sobald du auch nur einmal Multipass renderst fängt es sich IMO an zu lohnen.

Skybox: Solltest du IMHO für ideale Performance am Schluss rendern (und am Anfang ganz normal clearen). Z-Compare bleibt dann aktiv, Z-Write ist unnötig.

MfG
Aramis
18.03.2008, 21:01:29 Uhr
Neo.uc Offline
ZFX'ler


Registriert seit:
17.04.2003

Baden-Württemberg
109095930
Re: Wie teuer ist wasNach oben.
Zitat von Aramis:
Ahoi,

Zitat:
wonach sollte man bei seinem scene graph sortieren?

Skybox: Solltest du IMHO für ideale Performance am Schluss rendern (und am Anfang ganz normal clearen). Z-Compare bleibt dann aktiv, Z-Write ist unnötig.

MfG
Aramis


Wäre es nicht besser nur den Z-Buffer zu clearen und anschließend die SkyBox zu rendern ohne dabei in den Z-Buffer zu schreiben ?
18.03.2008, 21:18:45 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

http://ati.amd.com/developer/SwedenTechDay/03_Clever_Shader_Tricks.pdf
Seite 16

MfG
Aramis
18.03.2008, 21:58:14 Uhr
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Zitat von Aramis:
ZBuffer: Ich würde einen Z-Prepass rendern, was die ganze Geschichte etwas einfacher macht. Sobald du auch nur einmal Multipass renderst fängt es sich IMO an zu lohnen.

Was nur bei Szenen mit viel Overdraw lohnenswert ist. Bei Szenen mit wenig Overdraw (Outdoor) kostet der Extra-Path und bringt nix.
19.03.2008, 08:33:16 Uhr
Ingrater Offline
ZFX'ler


Registriert seit:
18.04.2007

Baden-Württemberg
Re: Wie teuer ist wasNach oben.
Auch bei Outdoorszenen kann man damit meiner Meinung nach sparen, wenn man damit z.b. verhinden kann das große Teile mit einem sehr teuren Parallax Occulsion Mapping Shader gezeichnet werden.
19.03.2008, 17:31:27 Uhr
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Zitat von Ingrater:
Auch bei Outdoorszenen kann man damit meiner Meinung nach sparen, wenn man damit z.b. verhinden kann das große Teile mit einem sehr teuren Parallax Occulsion Mapping Shader gezeichnet werden.

Hast du dafür Beweise?
19.03.2008, 18:28:13 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Wie teuer ist wasNach oben.
Zitat von Enrico_:
Zitat von Ingrater:
Auch bei Outdoorszenen kann man damit meiner Meinung nach sparen, wenn man damit z.b. verhinden kann das große Teile mit einem sehr teuren Parallax Occulsion Mapping Shader gezeichnet werden.

Hast du dafür Beweise?


Du?

Gruß Kimmi
19.03.2008, 18:48:27 Uhr
Kurzer Weblog
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

Der Z-Prepass lohnt sich schon alleine deshalb weil die auf diese Weise gewonnenen Tiefendaten (die man ja gleich auch noch in ein A8-Rendertarget ausgeben kann) durchaus an anderer Stelle sinnvoll verwendet werden können. Stichwort Depth of Field und einige Image-Space Schattentechniken. Ich finde es sehr bequem die Daten gleich zu haben anstelle die tatsächlich verwendeten Beleuchtungsshader modifizieren zu müssen (um beispielsweise die Tiefe in den Alphakanal des RTs auszugeben) oder zu versuchen die Z-Bufferwerte im DOF-Shader zu rekonstruieren.

QED

MfG
Aramis

1 Mal gendert, zuletzt am 19.03.2008, 19:24:09 Uhr von Aramis.
19.03.2008, 19:23:16 Uhr
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Zitat:
Zitat von Kimmi:
Hast du dafür Beweise?

Du?

Nein, dazu gerade nicht. Deswegen frag ich ja

Zitat:
Der Z-Prepass lohnt sich schon alleine deshalb weil die auf diese Weise gewonnenen Tiefendaten

Wenn ich die aber gar nicht brauche?
Hier zu postulieren, erstmal generell einen Z-Prepass zu machen halte ich doch für sehr gewagt.


Zitat:
(die man ja gleich auch noch in ein A8-Rendertarget ausgeben kann)

Wie denn?

1 Mal gendert, zuletzt am 19.03.2008, 19:45:14 Uhr von Enrico_.
19.03.2008, 19:44:56 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

Zitat:
Wenn ich die aber gar nicht brauche?
Hier zu postulieren, erstmal generell einen Z-Prepass zu machen halte ich doch für sehr gewagt.

Versteh mich nicht falsch. Ich sage bloß, dass ich es für die meisten Szenen in zeitgerechter Grafik für sinnvoll halte. Ich habe dafür keinen Beweis, auch keine Messwerte. Bloß ist es eine Tatsache, dass auch viele Spiele so vorgehen.

Zitat:
Wie denn?

Meinst du das ernst? Wer soll mich dran hindern den Tiefenwert eines transformierten Vertex in ein RT auszugeben?

Vorschlag: Rendere du ohne Z-Prepass und lass mich dabei bleiben. Dann sind wir beide glücklich

MfG
Aramis

1 Mal gendert, zuletzt am 19.03.2008, 20:33:11 Uhr von Aramis.
19.03.2008, 20:31:38 Uhr
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Nabend,

Zitat von Aramis:
Zitat:
Wie denn?

Meinst du das ernst? Wer soll mich dran hindern den Tiefenwert eines transformierten Vertex in ein RT auszugeben?

Vielleicht meinst du ja was anderes, als du geschrieben hast. Was du geschrieben hast:
"die [Tiefenwerte kann] man ja gleich auch noch in ein A8-Rendertarget ausgeben)"
Wenn du natürlich einmal in den Framebuffer und danach nochmal in einen FBO die Szene renderst, hast du da natürlich die Tiefenwerte. Allerdings hast du geschrieben, dass du gleichzeitig in Framebuffer und FBO renderst und da würde mich interessieren, wie das geht

Der Depth Prepass hilft nur, wenn du Fragment Programs auf Objekte anwendest, die potenziell hinter anderen Objekten sind. Sind sie das nicht, mußt du eh das Fragment Program ausführen und du hast dann die Kosten von einem extra Renderpass zusätzlich zu dem des teuren Fragment Programs (was auch für obiges Outdoor-Beispiel gilt).

Zitat von AMD:
In some cases it may be better to limit yourself to just the
objects that are expected to be significant occluders relative to their geometrical complexity. A rule of
thumb when deciding what objects to include is that triangles less than 100 pixels are almost certainly
not worth including in a Pre-Z pass and triangles more than 1,000 pixels should seriously be considered
to be included, unless the fragment shader is trivial. This means that for instance a detailed game
character in the distance with a relatively cheap pixel shader compared to the vertex shader will
probably not see a gain from participating in the Pre-Z pass.


Zitat von AMD:
For complex scenes consider Z pre-pass (not for depth_complexity=1!)



Zitat:
Vorschlag: Rendere du ohne Z-Prepass und lass mich dabei bleiben. Dann sind wir beide glücklich

Schade, ich hatte gehofft, du deaktivierst den Depth Prepass und zeigst ein paar Performance-Werte Hatte auf eine interessante Diskussion und Benchmarks gehofft

Ich sage ja gar nicht, dass ein Depth Pre-pass nix bringt. Ich halte es nur für falsch, hier zu postulieren, immer erstmal einen Depth Prepass zu machen So hätten wir alle neue Erkenntnisse und gefestige Aussagen gewonnen


Gruß,
Enrico

2 Mal gendert, zuletzt am 19.03.2008, 21:05:05 Uhr von Enrico_.
19.03.2008, 21:03:54 Uhr
Schrompf Offline
ZFX'ler


Registriert seit:
04.04.2006

Sachsen
Re: Wie teuer ist wasNach oben.
Erfahrungswerte: PräZ-Pass kostet Rechenzeit. Die letzte Grafikkarte, auf der ich damit messbare FPS-Verbesserungen erreicht habe, war eine ATI Radeon 9800. Bei der Geforce6600 GT war es (in Zusammenarbeit mit einem Athlon XP 3200+) bereits eine gewinn-freie Aktion, spätestens seit der GF7800 zahlen wir mit dem PräZ-Pass drauf.

Leider ist der nicht mehr vermeidbar, weil wir die ausgerenderte Tiefe brauchen.

Die Frage, wie man gleichzeitig die Tiefe in ein A8-Target ausgibt, ist mir allerdings wirklich unverständlich. Es wird doch wohl noch möglich sein, einen Shader zu schreiben, der Position.z aus dem VertexShader ins Renderziel ausgibt und gleichzeitig Z-Write aktiviert hat.

Bye, Thomas
19.03.2008, 21:59:02 Uhr
Dreamworlds Development
Godhand Offline
ZFX'ler


Registriert seit:
15.10.2002

Deutschland
Re: Wie teuer ist wasNach oben.
Hi,

Zitat von Enrico_:
Zitat von Ingrater:
Auch bei Outdoorszenen kann man damit meiner Meinung nach sparen, wenn man damit z.b. verhinden kann das große Teile mit einem sehr teuren Parallax Occulsion Mapping Shader gezeichnet werden.

Hast du dafür Beweise?


Steht doch im Ati-Paper unter "Shader LOD Branching" Allerdings ist es für diese Sache allein ein Prä-Z-Pass wohl Overkill.

Mit freundlichen Grüßen,
Godhand.
20.03.2008, 12:14:05 Uhr
Specialist Offline
ZFX'ler


Registriert seit:
29.08.2003

Nordrhein-Westfalen
99606527
Re: Wie teuer ist wasNach oben.
Meine Erfahrung mit dem ZPrepass haben bei Terrains nur ergeben, dass es sich lohnt, wenn man hinter einem Hügel steht und der Hügel weite Teile der Landschaft verdeckt. Auf weiter Ebene hast du Performanceeinbußen. Wenn du den Pass ansonsten nicht benötigst, dann lass es besser bleiben.
Vielleicht würde sich ein Front-To-Back sortieren lohnen für die Terrainpatches. Kannste ja mal ausprobieren und dann berichten.

1 Mal gendert, zuletzt am 20.03.2008, 14:05:31 Uhr von Specialist.
20.03.2008, 14:04:58 Uhr
BugSoft
Stefan Zerbst Offline
Administrator


Registriert seit:
25.02.2002

Deutschland
Re: Wie teuer ist wasNach oben.
Hi,

natürlich lohnt sich ein Z-Pass nur wenn man entweder sehr viel Pixel-Overwrite hat und nicht nach Front-to-Back sortieren kann, oder wenn man die Depth Informationen eh schreiben muss weil man sie für Effekte braucht

[Weisheit]
Ein Terrain hat i.d.R. wenig Verdeckung wenn es flach ist.
[/Weisheit]

Ciao,
Stefan
20.03.2008, 16:03:14 Uhr
ZFX - 3D Entertainment
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Zitat von Enrico:
Vielleicht meinst du ja was anderes, als du geschrieben hast. Was du geschrieben hast:
"die [Tiefenwerte kann] man ja gleich auch noch in ein A8-Rendertarget ausgeben)"
Wenn du natürlich einmal in den Framebuffer und danach nochmal in einen FBO die Szene renderst, hast du da natürlich die Tiefenwerte. Allerdings hast du geschrieben, dass du gleichzeitig in Framebuffer und FBO renderst und da würde mich interessieren, wie das geht

Ja? ich warte...
25.03.2008, 09:02:19 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

irgendwie verstehe ich euer Problem nicht so ganz. Ich habe gesagt man kann die Tiefendaten sauber in ein A8-Rendertarget ausgeben. Wer soll mich dran hindern:

- Z-Buffer zu setzen
- A8-Rendertarget zu setzen (gleiche Größe)
- Z-Prepass zu rendern
- Normales Rendertarget zu setzen
- Szene zu rendern
...
- Auf die A8-Textur für Postprocessingzwecke zuzugreifen

?
Das Vorgehen hat Schrompf auch bereits bei dem Versuch beschrieben mir mitzuteilen weshalb das Unsinn ist
Irgendwie halte ich meine Formulierung nicht für missverständlich. Es ist aber sicher auch nicht nötig darauf noch länger herumzubeißen.

Tut mir leid wenn ich dich habe warten lassen

MfG
Aramis

PS: Wirklich A8 hab ich nie getestet, stattdessen hab ich A8R8G8B8 verwendet um im Z-Prepass noch die ung'bump'ten Vertexnormalen mit auszugeben Ich sehe aber keinen Grund weshalb die Erstellung eines D3DFMT_A8-RTs scheitern sollte.

1 Mal gendert, zuletzt am 25.03.2008, 12:37:49 Uhr von Aramis.
25.03.2008, 12:35:42 Uhr
Ingrater Offline
ZFX'ler


Registriert seit:
18.04.2007

Baden-Württemberg
Re: Wie teuer ist wasNach oben.
A8 Textur??
Da sehen deine Postprocressing effekte dann aber leicht bescheiden aus wenn du nur 256 verschiedene Tiefenwerte haben kannst....
25.03.2008, 12:57:00 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

für DepthOfField reicht's mit minimalen Artefakten. Aber es wäre wohl sinnvoller R32 nehmen, da hast du Recht.

Herzlichen Glückwunsch übrigens zur äußerst phantasievollen Bennenung deines Parallax Occlusion Mapping-Threads. Man könnte fast meinen der Rechtschreibfehler sei Absicht und dient zur Unterscheidung von dem Thread davor

MfG
Aramis

2 Mal gendert, zuletzt am 25.03.2008, 13:06:34 Uhr von Aramis.
25.03.2008, 13:05:15 Uhr
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Zitat von Aramis:
Ahoi,

irgendwie verstehe ich euer Problem nicht so ganz. Ich habe gesagt man kann die Tiefendaten sauber in ein A8-Rendertarget ausgeben. Wer soll mich dran hindern:

- Z-Buffer zu setzen
- A8-Rendertarget zu setzen (gleiche Größe)
- Z-Prepass zu rendern
- Normales Rendertarget zu setzen
- Szene zu rendern
...
- Auf die A8-Textur für Postprocessingzwecke zuzugreifen

?
Das Vorgehen hat Schrompf auch bereits bei dem Versuch beschrieben mir mitzuteilen weshalb das Unsinn ist
Irgendwie halte ich meine Formulierung nicht für missverständlich. Es ist aber sicher auch nicht nötig darauf noch länger herumzubeißen.

Tut mir leid wenn ich dich habe warten lassen

MfG
Aramis

PS: Wirklich A8 hab ich nie getestet, stattdessen hab ich A8R8G8B8 verwendet um im Z-Prepass noch die ung'bump'ten Vertexnormalen mit auszugeben Ich sehe aber keinen Grund weshalb die Erstellung eines D3DFMT_A8-RTs scheitern sollte.

Lassen wir das lieber. Du hast nichtmal ansatzweise gelesen, was ich oben geschrieben habe...
25.03.2008, 13:07:35 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Hm, du auch nicht. Es tut mir leid, aber ich halte mich nicht für zu blöd den Inhalt deines Postings zu verstehen. Leider sehe ich deinen feinen Unterschied immer noch nicht ...

Ich schlage ebenfalls vor es zu lassen. Alternativ könnte ich dich auch in Übergröße zitieren und einen kleinen Flamewar draus machen

MfG
Aramis
25.03.2008, 13:12:25 Uhr
Enrico_ Offline
ZFX'ler


Registriert seit:
08.04.2003

Baden-Württemberg
72778726
Re: Wie teuer ist wasNach oben.
Zitat von Aramis:
Hm, du auch nicht. Es tut mir leid, aber ich halte mich nicht für zu blöd den Inhalt deines Postings zu verstehen.

Ich auch nicht

Zitat:
Leider sehe ich deinen feinen Unterschied immer noch nicht ...

Ein letzter Versuch, weil mein Build noch läuft

Du schreibst:
"Ich kann Depth gleichzeitig bzw. in einem Pass sowohl in den Framebuffer als auch ein Rendertarget schreiben" (Posting #9, hab extra nachgezählt )

Ich frage darauf hin:
"Wie?"

Dann kommt unsere "Diskussion"

Du antwortest auf meine Frage:
"1) in den Framebuffer die Depth Values schreiben
2) in ein Rendertarget die Depth Values schreiben" - was konträr zu der ersten Aussage von dir ist, da nicht gleichzeitig.

Und nu warte ich immer noch auf die Antwort auf meine Frage

Falls ich jetzt immer noch unverständlich bin ( ), können wir uns gerne auf ein Bier oder sonstiges bei mir treffen
25.03.2008, 13:57:59 Uhr
Aramis Offline
ZFX'ler


Registriert seit:
14.03.2007

Baden-Württemberg
406712329
Re: Wie teuer ist wasNach oben.
Ahoi,

Kein Flamewar also. Schade
*ebenfalls bis 9 zähl*

Zitat von mir selber:
Der Z-Prepass lohnt sich schon alleine deshalb weil die auf diese Weise gewonnenen Tiefendaten (die man ja gleich auch noch in ein A8-Rendertarget ausgeben kann)


Zitat von Enrico der mich zitiert:

"Ich kann Depth gleichzeitig bzw. in einem Pass sowohl in den Framebuffer als auch ein Rendertarget schreiben"

OK, jetzt verstehe ich was du meinst. Ich bin über OpenGL und die Bezeichner Framebuffer und Rendertarget gestolpert weil ich Direct3D im Kopf hatte
Nein, das kann ich nicht, da hast du Recht. Aber soweit ich weiß ist es ja üblich beim Z-Prepass alle Farbkanäle zu deaktivieren und nur in den Tiefenbuffer hineinzuschreiben. Da wollte ich auf die Möglichkeit aufmerksam machen eben diese Tiefeninformationen mit wenig Aufwand als Farbinformationen auszugeben, was ja fast die einzige sinnvolle Möglichkeit ist wirklich an den Z-Buffer dranzukommen. Das Dumme war dann das Wort Rendertarget.

Unglaublich, aber sich 2 Minuten hinzusetzen, einen Kaffee zu trinken und nachzudenken kann zu Erleuchtungen führen.

Zitat:

Falls ich jetzt immer noch unverständlich bin ( ), können wir uns gerne auf ein Bier oder sonstiges bei mir treffen

Das klingt gut, aber nein, ich denke es dürfte alles geklärt sein. Ich hab keine Lust bei dem Wetter irgendwo hin zu fahren ... Hier in Aalen schneit es mal wieder

MfG
Aramis
25.03.2008, 14:22:48 Uhr
Kimmi Offline
ZFX'ler


Registriert seit:
10.10.2002

Schleswig-Holstein
93425079
Re: Wie teuer ist wasNach oben.
In eurem Alter hab ich mich zumindest noch anständig besoffen, anstelle vor Rechnern rumzuhängen . Also geht Bier trinken...

Gruß kimmi
25.03.2008, 14:56:23 Uhr
Kurzer Weblog
NormalSeite: 1 2 >


ZFX Community Software, Version 0.9.1
Copyright 2002-2003 by Steffen Engel