5 registered members (AndrewAMD, ozgur, Ayumi, 2 invisible),
690
guests, and 10
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Bump Mapping Shader
[Re: jcl]
#22181
01/24/04 08:42
01/24/04 08:42
|
Joined: May 2002
Posts: 7,441
ventilator
Senior Expert
|
Senior Expert
Joined: May 2002
Posts: 7,441
|
Quote:
This is the default render setting used by the engine:
Models, sprites, and flat textures:
SetTexture(0,Skin); SetTextureStageState(0,D3DTSS_COLOROP,D3DTOP_MODULATE2X); SetTextureStageState(0,D3DTSS_COLORARG1,D3DTA_TEXTURE); // entity texture SetTextureStageState(0,D3DTSS_COLORARG2,D3DTA_DIFFUSE); // lighting
but how does the engine calculate the diffuse value? ...in case i want to do that myself in the vertex shader...
|
|
|
Re: Bump Mapping Shader
[Re: Aaron_H]
#22183
01/25/04 09:55
01/25/04 09:55
|
Joined: Mar 2003
Posts: 1,524 Canada
Stansmedia
Serious User
|
Serious User
Joined: Mar 2003
Posts: 1,524
Canada
|
I tried that bump mapping code. But it gave me an error message when I looked at it: BUMP MAPPING: NOT SUPPORTED BY HARDWARE... Not supported my ass, ive got a geforce 4 128 mb of vram. Like, my max has bump mapping and stuff, so why is 3dgs complaining? Can somebody help? I want shaders (im a total shader noob btw... so, help is good )
|
|
|
Re: Bump Mapping Shader
[Re: Drew]
#22184
01/29/04 06:07
01/29/04 06:07
|
Joined: Oct 2003
Posts: 88
Ultra
Junior Member
|
Junior Member
Joined: Oct 2003
Posts: 88
|
Quote:
works great! even has proper lighting in shadows...
here is the code, with action and material (for shader newbies like me)
Code:
MATERIAL bumpmap { effect " matrix matWorldViewProj; matrix matWorld; texture entSkin1; texture entSkin2; vector vecLight; technique dot3map { pass p0 { Texture[0] = <entSkin2>;//2te Skin im Model ist die Normal Map Texture[1] = <entSkin1>;//1te Skin im Model ist die Textur COLOROP[0] = dotproduct3; COLORARG1[0] = texture; COLORARG2[0] = diffuse; COLOROP[1] = modulate; COLORARG1[1] = texture; COLORARG2[1] = current; VertexShaderConstant[0]=<matWorldViewProj>; VertexShaderConstant[4]=<matWorld>; VertexShaderConstant[18]={1f,1f,1f,1f}; VertexShaderConstant[19]={0.5f,0.5f,0.5f,0.5f}; VertexShaderConstant[20]= <vecLight>; VertexShaderConstant[30]={0f,1f,0f,0f}; VertexShaderConstant[31]={1f,0f,0f,0f}; VertexShaderConstant[32]={0f,0f,1f,0f}; VertexShaderConstant[90]={1f,0f,0f,0f}; //damit oFog gefüllt ist VertexShader = decl { stream 0; float v0[3]; //Position float v3[3]; //Normal float v7[2]; //Textur Koordinaten 0 } asm { vs.1.0 m4x4 oPos, v0, c0 m4x4 r10,v0,c4 m3x3 r8,v3,c4 mov oT0, v7 mov oT1, v7 mov oT2, v7 mov oT3, v7 //calculate texture space matrix from normal and up mul r0,c31,v3.zxyw //-1,0,0 mul r1,c32,v3.yzxw //0,0,-1 sub r0,r1,r0 dp3 r0.w,r0,r0 rsq r0.w,r0.w mul r0,r0,r0.w //normalized right vector mov r1, c30 //0,-1,0 mov r2, r8 sub r9,c20,r10 dp3 r9.w,r9,r9 rsq r9.w,r9.w mul r9,r9,r9.w //normalized light vector m3x3 r3,r9,r0 mov r3.w,c30.w //transform light to texture space add r3,r3,c18 //bias mul r3,r3,c19//scale mov oD0,r3 mov oFog,c90 }; } } "; }
action Shader_bumpmap { my.material=bumpmap; }
Hi, I copied this code and apparently can't get it to work.
any idea why i get this error? (and yes, if you haven't guessed, I'm quite the noob)
|
|
|
Re: Bump Mapping Shader
[Re: Ultra]
#22185
01/29/04 07:17
01/29/04 07:17
|
Joined: Oct 2003
Posts: 1,258 Virginia, USA
qwerty823
Senior Developer
|
Senior Developer
Joined: Oct 2003
Posts: 1,258
Virginia, USA
|
Its missing an '=' for starters. (In red) Code:
MATERIAL bumpmap { effect= " matrix matWorldViewProj;
Never argue with an idiot. They drag you down to their level then beat you with experience
|
|
|
Re: Bump Mapping Shader
[Re: Ultra]
#22188
01/29/04 14:23
01/29/04 14:23
|
Joined: Oct 2003
Posts: 1,258 Virginia, USA
qwerty823
Senior Developer
|
Senior Developer
Joined: Oct 2003
Posts: 1,258
Virginia, USA
|
I noticed from your profile you have 6.11. Is it Commercial or Pro? Only Commercial and Pro support shaders.
You might want to grab 6.20 upgrade, since 6.11 might not support shaders.
Never argue with an idiot. They drag you down to their level then beat you with experience
|
|
|
|