Gamestudio Links
Zorro Links
Newest Posts
Help with plotting multiple ZigZag
by degenerate_762. 04/30/24 23:23
M1 Oversampling
by 11honza11. 04/30/24 08:16
Trading Journey
by howardR. 04/28/24 09:55
Zorro Trader GPT
by TipmyPip. 04/27/24 13:50
Data from CSV not parsed correctly
by jcl. 04/26/24 11:18
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, SBGuy), 987 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Vollbildeffekte und Vertexshader #376738
07/06/11 08:36
07/06/11 08:36
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline OP
Expert
Slin  Offline OP
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Bei Vollbildeffekten ist es ja meistens üblich, dass man einen Quad mit einem entsprechendem Pixelshader rendert und von einer Textur mit der zuvor dort hinein gerenderten Szene sampled.
In manchen seltenen Fällen bietet es sich an auch einen Vertexshader zu verwenden der nützliche Werte berechnet, die dann ja auch interpoliert werden (im Pixelshader berechnete Texturekoordinaten sind zum Beispiel nicht ideal und es gibt sicher noch bessere Beispiele).

Was ich jetzt gern wissen möchte, ist, wie Vollbildeffekte gerendert werden und wenn mit einem ganz normalen Vollbildquad, wie die Vertices transformiert werden und wie ich einen eigenen Vertexshader dazu nutzen kann (denn wenn ich in meiner FX Datei einen Vertexshader angebe wird dieser einfach ignoriert!?).
Ein Problem ist nämlich auch die Fixed Function Pipeline für Vertices oder Pixel mit einem Shadermodel 3 Shader zu mischen. AMD Grafikkarten kommen damit nicht zurecht. NVIDIA Karten sind dagegen etwas toleranter.

Danke.

Re: Vollbildeffekte und Vertexshader [Re: Slin] #376875
07/07/11 08:39
07/07/11 08:39
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Die 2D-Effekte werden mit DrawPrimitiveUP(D3DPT_TRIANGLESTRIP...) gerendert. Da die Vertices untransformiert sind, kann man einen Vertex-Shader hier meines Wissens nicht verwenden, nur einen Pixelshader.

Re: Vollbildeffekte und Vertexshader [Re: jcl] #377826
07/16/11 20:42
07/16/11 20:42
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline OP
Expert
Slin  Offline OP
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Originally Posted By: MSDN DrawPrimitiveUP

When converting a legacy application to Direct3D 9, you must add a call to either IDirect3DDevice9::SetFVF to use the fixed function pipeline, or IDirect3DDevice9::SetVertexDeclaration to use a vertex shader before you make any Draw calls.

Hier geht es zwar grad nur um das Vertexformat, das aber abhängig davon ob Vertexshader oder Fixed Function Pipeline genutzt werden soll unterschiedlich gesetzt wird, was ich so verstehe, dass entweder mit ffp oder vs gerendert werden muss, aber nicht ohne. Ob die Vertices die gerendert werden noch transformiert werden müssen oder nicht ist ja ziemlich egal, das kann ich im Shader beliebig machen.
Weshalb wird hier eigentlich mit DrawPrimitiveUP gerendert? Das scheint ja eher ein Überbleibsel aus DX8 zu sein. Und gerade bei tendenziell eher statischen Dingen wie 2D Elementen bieten sich doch Vertexbuffer an, oder nicht (oder auch dynamische Vertexbuffer)?
Ich habe leider keine AMD Karte um die Probleme die Shadermodel 3 Postprocessing Effekte machen genauer zu Recherchieren, aber meine Vermutung ist das Mischen von FFP und PS3.0, was auf NVIDIA Karten kein Problem ist, auf AMD Karten aber schon. Auf AMD Karten funktioniert lediglich VS3.0 und PS3.0, VS2.0 und PS3.0 und ähnliches dagegen nicht.

Re: Vollbildeffekte und Vertexshader [Re: Slin] #377955
07/18/11 09:03
07/18/11 09:03
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Ich weiss zwar von den Gerüchten, dass FFP, VS2.0, und PS3.0 auf AMD Karten gemischt nicht funktionieren sollen. Wir konnten dies aber in der Praxis bisher nicht bestätigen.

DrawPrimitiveUP ist in der Tat ein Überbleibsel, bei 4 Vertices macht es aber keinerlei Unterschied für die Geschwindigkeit, ob Sie einen Vertexbuffer verwenden oder nicht.

Re: Vollbildeffekte und Vertexshader [Re: jcl] #377957
07/18/11 09:14
07/18/11 09:14
Joined: May 2005
Posts: 2,713
Lübeck
Slin Offline OP
Expert
Slin  Offline OP
Expert

Joined: May 2005
Posts: 2,713
Lübeck
Nunja, ich selbst hatte solche Probleme bereits, Hummel kann das Problem auch bestätigen, hier bei meiner Arbeit ist das Problem auch bekannt und ich bin mir sicher dass es viele andere auch bestätigen können dass es sich nicht nur um ein Gerücht handelt.

Danke übrigens für die Änderungen an render_target laugh.


Moderated by  old_bill, Tobias 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1