D3DXEffect ohne Device
-
Hallo zusammen,
nach längerer Abwesenheit von der DirectX-Programmierung habe ich mich mal wieder an ein altes Projekt gesetzt, eine Spieleengine. Aktuell war ich dabei an einem Modellkonverter stehen geblieben. Die Oberfläche, sowie das Importieren von 3DS-Modellen funktionierte schon in den wichtigsten Grundzügen (Materialien, Vertex und Indexdaten). Nun habe ich aber ein Problem mit den Effectcodes/Shadercodes der einzelnen Materialien. Da ich in der Programmierung solcher noch nicht sehr sicher bin, wollte ich die Effektcodes in dem Konverter Compilieren lassen, um sie auf Funktionsfähigkeit zu prüfen. Dabei stellte sich mir das Problem, dass die Funktion eine gültige Device braucht, und diese ja eine menge parameter, einen Adapter sowie ein Fenster benötigt.
gibt es die Möglichkeit eine art "Dummy" Device zu erstellen oder ist das
generell ein völlig falscher Ansatz?mfG Nick
-
Ich verstehe deinen Fall zar nicht zu 100% und bin noch relativer DX Anfänger, aber du könntest D3D_DRIVER_TYPE_NULL als Devicetype bei D3D11CreateDevice übergeben und schauen ob das dein Problem löst. Siehe:
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476328(v=vs.85).aspx
-
Das habe ich vergessen zu erwähnen... ich arbeite mit DirectX 9. Ich weiß nicht ob das für DirectX genau so zählt ich habe nichts in der Richtung gefunden...
-
-
warum sagt mir google sowas nicht? das sieht gut aus danke
-
ID3DBlob *blob; if(FAILED(h=D3DCompile(code,strlen(code),NULL,NULL,NULL,NULL,"fx_4_1",NULL,NULL,&blob,NULL))) { MessageBox(hDlg,"Der Effect Code ist fehlerhaft","Effect Error",MB_OK || MB_ICONERROR); }
So einfach kann etwas gehen!
Vielen Dank nochmals!