2016-07-25 25 views
0

Hallo Ich versuche Tutorial2 von https://code.msdn.microsoft.com/windowsdesktop/Direct3D-Tutorial-Win32-829979ef#content zu tun.Tutorial 2 von msdn "Direct3D Tutorial Win32 Beispiel"

In Tutorial 1 musste ich #pragma comment (lib, "d3d11.lib") hinzufügen, damit es funktioniert.

In Tutorial 2 habe ich 2 Pragmas, # Pragma Kommentar (lib, "d3d11.lib") und #pragma Kommentar (lib, "D3DCompiler.lib") hinzugefügt. Aber ich kann es immer noch nicht bauen. Die .hlsl-Dateien erzeugen den Fehler: {Fehler X1507 konnte die Quelldatei nicht öffnen: 'Tutorial02.fx'}. Ich habe versucht, Tutorial02.fx in meinem Computer zu finden, konnte aber nicht. Irgendeine Idee, wo diese Datei sein würde oder wie dies funktioniert? Ich benutze Visual Studio 2015 Community Edition.

Antwort

0

Da Sie VS 2015 verwenden, nehme ich an, Sie öffneten die Tutorials.sln und aktualisierten sie auf v140, ja?

Ich habe das einfach gemacht und war in der Lage, alle Tutorials für alle Konfigurationen ohne Probleme mit VS 2015 zu bauen. Es klingt, als hätten Sie das Paket nicht korrekt erweitert, weil Tutorial02.fx deutlich im Paket vorhanden ist.

Note that I've not updated the MSDN copies of my samples in some time. I now maintain them on GitHub .

+0

Danke für die Beantwortung. Ich habe mich nur gefragt, wie diese Art von Dateiformat erstellt wird. Ich weiß, wie man .hlsl Datei hinzufügt. Aber ich weiß nicht, wie diese Datei (Tutorial02.fx) hinzugefügt wurde. In Visual Studio kann ich Codedateien, Ressourcendateien, Datendateien, Webdateien, Dienstprogrammdateien, Eigenschaftenblätter, HLSL-Dateien und Grafikdateien hinzufügen, indem Sie im Solution Explorer mit der rechten Maustaste auf das Projekt klicken und dann auf "Objekt hinzufügen" klicken. Ich konnte keine Möglichkeit finden, eine .fx-Datei hinzuzufügen. Wie wurde diese Datei hinzugefügt? In der .cpp Datei fand ich die Zeile "hr = CompileShaderFromFile (L" Tutorial02.fx "," VS "," vs_4_0 ", & pVSBlob);". Erstellt es die Datei? – Niraj

+0

'.fx'' Dateien werden genau wie' 'hlsl'' Dateien von Visual Studio behandelt. Für das Lernprogramm wird die Datei '' .fx'' jedoch nicht direkt kompiliert, da Visual Studio dieselbe Quelldatei nicht mehrmals kompilieren kann. Daher verwenden die beiden .hlsl-Dateien '' include'' der '' .fx''-Datei. Dies dient nur der Validierung des Shaders, um die Wiedergabe zu vereinfachen. Wie Sie im Code sehen, wird die Datei '' .fx'' zweimal vom Code erfüllt. –

+0

In realen Anwendungen möchten Sie lieber alle Ihre Shader zur Kompilierungszeit Ihrer Anwendung erstellen als zur Laufzeit, wenn Ihr Programm ausgeführt wird. Zur Vereinfachung erstellen diese Tutorials das Kompilieren zur Kompilierungszeit (zur einfachen Überprüfung) und zur Laufzeit (für eine einfache Verwendung). –