|
2 registered members (matty47, 1 invisible),
6,408
guests, and 1
spider. |
|
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: error : Pixel shader expected ???
[Re: _Tommo_]
#45688
05/15/05 17:44
05/15/05 17:44
|
Joined: Apr 2005
Posts: 64 Italy - Rome
_Tommo_
OP
Junior Member
|
OP
Junior Member
Joined: Apr 2005
Posts: 64
Italy - Rome
|
the code i tried is that: bmap texture = <test.tga>; bmap dot3 = <testdot3.tga>;
material mat_bump { skin1 = texture; skin2 = dot3; scale1 = 0.2; effect = " matrix matWorldViewProj; matrix matWorld; vector vecSunDir; Matrix matMtl; // declare the used textures and variables texture mtlSkin1; // the entity skin texture mtlSkin2; // the bump map dword mtlSkill1; // the light vector
// default technique technique bump_dot3 { pass P0 { // set texture stage states Texture[0] = <mtlSkin2>; //bump Texture[1] = <mtlSkin1>; //text TextureFactor = <mtlSkill1>; ColorArg1[0] = Texture; // stage 0 = bumpmap ColorOp[0] = DotProduct3; ColorArg2[0] = TFactor; ColorArg1[1] = Texture; // stage 1 - skin texture ColorOp[1] = AddSigned; ColorArg2[1] = Current; ColorArg1[2] = Diffuse; // stage 2 - lighting ColorOp[2] = Modulate2x; ColorArg2[2] = Current; pixelshader = asm { ps.1.0 tex t0 tex t1 tex t2
mul r0, t0, t1
};
vertexShader = asm { vs.1.1 m4x4 oPos, v0,c0 mov oD0,c4 }; } } // fallback technique for devices that do not support bumpmapping technique fallback { pass P0 { // set texture stage states Texture[0] = <mtlSkin1>; ColorArg1[0] = Texture; // stage 0 = skin texture ColorOp[0] = Modulate2x; ColorArg2[0] = Diffuse; // modulate by lighting } }"; // end of the effect string }
starter mat_bump_init { // initialize the material properties vec_set(mat_bump.ambient_blue, mat_model.ambient_blue); vec_set(mat_bump.diffuse_blue, mat_model.diffuse_blue); vec_set(mat_bump.specular_blue, mat_model.specular_blue); mat_bump.albedo = 100; mat_bump.power = mat_model.power; mat_bump.skill1 = pixel_for_vec(vector(100,100,100),50,8888); }
As you see it's just the bumpmapping example in 3dgs' tutorial with some changes. I also tried: to change the order of pixel and vertex shader; to made a blank one; to cancel the bumpmapping part; to put the shaders in another pass....
But nothing! at every try, (if there aren't other errors) i get always "pixel shader expected", pointing to the line where the pixel shader starts... but only if i use also a vertex shader. Why??? It works if i comment the vertex shader!
|
|
|
|