ich bin noch ein Frischling in Sachen DirectX und kämpf mich gerade durch das DirectXTutorial.com: http://directxtutorial.com/Tutorial11/B ... aspx#still
Der Code sollte bis jetzt ein Fenster erstellen, DirectX intialisieren und ein Dreieck zeichnen. Die Datei "shader.hlsl" befindet sich natürlich im selben Verzeichnis wie der restliche Code und ich benutze VC++ 2010.
Ich habe den Code von diesem Tutorial 1 zu 1 übernommen und bekomme ihn einfach nicht zu laufen. Ich vermute den Fehler in folgender Funktion. Das Tutorial ist bis zu dieser Stelle noch kostenlos, wer möchte sich kann unter dem Link oben den kompletten Code anschauen (Einfach nach ganz unten scrollen und auf [Show Code] klicken).
Code: Alles auswählen
void InitPipeline(void)
{
ID3D10Blob *VS, *PS;
HRESULT res = 0;
res = D3DX11CompileFromFile(L"shaders.hlsl", 0, 0, "VShader", "vs_5_0", 0, 0, 0, &VS, 0, 0);
res = D3DX11CompileFromFile(L"shaders.hlsl", 0, 0, "PShader", "ps_5_0", 0, 0, 0, &PS, 0, 0);
res = dev->CreateVertexShader(VS->GetBufferPointer(), VS->GetBufferSize(), NULL, &pVS);
res = dev->CreatePixelShader(PS->GetBufferPointer(), PS->GetBufferSize(), NULL, &pPS);
VS->GetBufferPointer();
devcon->VSSetShader(pVS, 0, 0);
devcon->PSSetShader(pPS, 0, 0);
D3D11_INPUT_ELEMENT_DESC ied[] =
{
{ "POSITION", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 0, D3D11_INPUT_PER_VERTEX_DATA, 0 },
{ "COLOR", 0, DXGI_FORMAT_R32G32B32_FLOAT, 0, 12, D3D11_INPUT_PER_VERTEX_DATA, 0 }
};
dev->CreateInputLayout(ied, 2, VS->GetBufferPointer(), VS->GetBufferSize(), &pLayout);
devcon->IASetInputLayout(pLayout);
}
Code: Alles auswählen
devcon->Draw()
Code: Alles auswählen
pVS->Release();
pPS->Release();
MfG Icon