Tach Leute,
hab folgendes Problem, bei mir klappt die Funktion D3DXCompileShaderFromFile nicht, weiß wirklich nicht wo der Fehler liegt, darum poste ich mal den Code :/
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
HSHADER CALL HGE_Impl::Shader_Create(const char *filename)
{
LPD3DXBUFFER code = NULL;
LPDIRECT3DPIXELSHADER9 pixelShader = NULL;
HRESULT result = D3DXCompileShaderFromFile( filename, //filepath
NULL, //macro's
NULL, //includes
"ps_main", //main function
"ps_2_0", //shader profile
0, //flags
&code, //compiled operations
NULL, //errors
NULL); //constants
if(FAILED(result)) {
_PostError("Can't create shader");
return NULL;
}
pD3DDevice->CreatePixelShader((DWORD*)code->GetBufferPointer(), &pixelShader);
code->Release();
return (HSHADER)pixelShader;
}
|
shader1.psh
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
float4 ps_main( float2 Tex : TEXCOORD0 ) : COLOR0
{
float4 Color;
Color.a = 1.0f;
Color.rgb = 0.5f;
Color -= tex2D( g_samSrcColor, Tex.xy-0.001)*2.0f;
Color += tex2D( g_samSrcColor, Tex.xy+0.001)*2.0f;
Color.rgb = (Color.r+Color.g+Color.b)/3.0f;
return Color;
}
|
Wenn ich
|
C-/C++-Quelltext
|
1
|
shad1 = hge->Shader_Create("shader1.psh");
|
aufrufe steht in der log Datei immer "Can't create shader" ?
shader1.psh liegt im gleichen Ordner wie die .exe.
BS: Win7
Kann es vllt daran liegen ? :?
lg
unknown