1Danke
ERLEDIGT
JA
JA
ANTWORTEN
7
7
ZUGRIFFE
426
426
EMPFEHLEN
-
08.02.12 17:15 #1
Hallo. Vorab ein paar Infos:
DirectX9.0c, Shaderversion 2.0.
Mein Problem besteh darin für DrawIndexedPrimitive 2 Shader zu benutzen. Ich dachte mir so:
So funktioniert aber leider nur der erste Shader :/ Ich verwende eine Effectklasse meiner Engine. Deswegen nu Start, Pass und End. Das ziel ist eigentlich ein Materialshader(Effect1) und dann der Phongbeleuchtungsshader(Effect2) zusammen zu verwenden und dann das Objekt mit der Textur die von Effect1 und 2 verändert wurde zu rendern.Code cpp:1 2 3 4 5 6 7
Effect1->Begin(); Effect2->Begin(); Effect1->Pass(0); Effect2->Pass(0); DrawIndexedPrimitive(...); Effect1->End(); Effect2->End();
Danke im Voraus
Geändert von MSVCplusplus (08.02.12 um 20:54 Uhr)
Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
Hallo,
wie du schon bemerkt hast, kann pro Pipeline-Stage höchstens ein Shaderprogramm aktiv sein. Dir bleiben im Grunde zwei Möglichkeiten: entweder du zeichnest das Modell in zwei Passes, also in etwa so:
Im zweiten Pass musst du Blending aktivieren, damit sich am Ende die richtige Farbe ergibt.Code cpp:1 2 3 4 5 6 7 8 9
Effect1->Begin(); Effect1->Pass(0); DrawIndexedPrimitive(...); Effect1->End(); Effect2->Begin(); Effect2->Pass(0); DrawIndexedPrimitive(...); Effect2->End();
Die zweite Möglichkeit wäre, die Berechnungen beider Shader in einen Shader zu kombinieren. Dann kommst du mit nur einem Pass aus.
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
08.02.12 20:55 #3
Wie meinst du das mit Blending?
Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
Mittels Blending kannst du die erzeugten Pixel mit den bereits im Framebuffer stehenden Farben kombinieren, anstatt sie lediglich zu überschreiben. Ohne Blending würde der 2. Pass die Farben aus dem 1. Pass einfach überschreiben. Siehe http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
09.02.12 07:18 #5
Danke
Aber dennoch stehe ich etwas auf der Leitung -.-
Also effect 1 benutzen und dann das selbe nochmal mit Blending und Effect2 Rendern?Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
15.02.12 17:19 #7
OK also mein Code:
Leider sehe ich nur den letzten Effekt: Meine Blendeinstellungen scheinen nicht korrekt zu seinCode cpp:1 2 3 4 5 6 7 8
D3D.SetRS(D3DRS_ALPHABLENDENABLE,TRUE); D3D.SetRS(D3DRS_SRCBLEND,D3DBLEND_ONE); D3D.SetRS(D3DRS_DESTBLEND,D3DBLEND_ZERO); Object->Render(effect); D3D.SetRS(D3DRS_SRCBLEND,D3DBLEND_ZERO); D3D.SetRS(D3DRS_DESTBLEND,D3DBLEND_SRCCOLOR); Object->Render(effect2);

DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
15.02.12 21:27 #8
Fehler gefunden
Alte Farbe * 0 ist null
Fehlermeldung bitte!
Google - Dein Freund und Helfer
Ähnliche Themen
-
3D Modell von einem Atomkraftwerk
Von l3x im Forum Cinema 4DAntworten: 3Letzter Beitrag: 06.06.11, 15:20 -
ER-Modell von einem Forum - Wo?
Von ZodiacXP im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 28.07.08, 13:32 -
DLL Funktionen in einem Thread benutzen
Von Twinsetter im Forum Delphi, Kylix, PascalAntworten: 0Letzter Beitrag: 16.07.07, 01:07 -
Glühen-Material auf einem Danel-Shader
Von styko im Forum Cinema 4DAntworten: 6Letzter Beitrag: 28.11.04, 01:11 -
Ich brauche ein Modell von einem Aschenbecher.
Von D3v3r$3r1108 im Forum Cinema 4DAntworten: 3Letzter Beitrag: 11.12.01, 07:07





Zitieren


Login






