ich versuche ein Precompiled Shader an den Vertex Shader zu übergeben, erfolglos. Die Anwendung schmiert mir immer beim Erstellen des Shader ab. Ich will die "d3dcompiler_47.dll" nicht in meinem Verzeichnis rumliegen habe, deshalb fällt D3DReadFileToBlob schon mal. Kompiliert hab ich mit fxc oder in der App mit D3DWriteBlobToFile gespeichert, in beiden Fällen kommt das gleiche dabei raus. Kompiliere ich zur Laufzeit und übergebe D3D10Blob* an die CreateVertexShader gibt's keine Probleme.
Ist an meinem Code was nicht i.o.? Aufs wesentliche gekürzt:
Code: Alles auswählen
std::ifstream s("datei.hlsl", std::ios::in | std::ios::binary);
char* data;
size_t size
s.seekg(0, std::ios::end);
size = s.tellg();
data = new char[size];
s.seekg(0, std::ios::beg);
s.read(data, size);
s.close();
d3ddevice->CreateVertexShader(data, size, 0, pVertexShader);
delete data;