Need Help with Terrain Multitexturing Shader

Posted By: sarahlover_247

Need Help with Terrain Multitexturing Shader - 03/11/05 07:10

I am using the Shader from the Wiki, and I get this message:
Error in effect:
mat_terrain_multitexture(2) : syntax error

Heres the code I am using:
In the main wdl:

path "D:\\Miscellaneous\\3D Gamestudio Stuff\\work";
include <multitexture.wdl>;
action terrain
{
my.skill41=float(10);
my.skill42=float(20);
my.skill43=float(5);
my.skill44=float(10);

my.flare=off;
my.transparent=off;
my.material=mat_terrain_multitexture;
}

in the multitexture.wdl:
material mat_terrain_multitexture
{
effect=
"
texture entSkin1.tga;
texture entSkin2.tga;
texture entSkin3.tga;

matrix matWorldViewProj;
matrix matWorld;
matrix matWorldView;

vector vecSunDir;
vector vecDiffuse;
vector vecAmbient;
vector vecLight;
vector vecFog;
vector vecSkill41;

technique multitexture
{
pass p
{
texture[0]=<entSkin1.tga>; // colormap1
texture[1]=<entSkin2.tga>; // colormap2
texture[2]=<entSkin3.tga>; // macromap

magFilter[2]=linear;
minFilter[2]=linear;
mipFilter[2]=linear;

zWriteEnable=true;

vertexShaderConstant[0]=<matWorldViewProj>;
vertexShaderConstant[4]=<matWorld>;
vertexShaderConstant[8]=<matWorldView>;

vertexShaderConstant[16]=<vecSunDir>;
vertexShaderConstant[17]=<vecDiffuse>;
vertexShaderConstant[18]=<vecAmbient>;
vertexShaderConstant[19]=<vecLight>;
vertexShaderConstant[20]=<vecFog>;

vertexShaderConstant[64]=<vecSkill41>; // u_scale1,v_scale1,u_scale2,v_scale2
vertexShaderConstant[95]=(0.0f,0.0f,0.0f,0.0f);

vertexShader=
decl
{
stream 0;
float v0[3]; //position
float v3[3]; //normal
float v7[2]; //uv
}
asm
{
vs.1.1
m4x4 oPos,v0,c0 // transform position to clip space

mul oT0.xy,v7.xy,c64.xy // output scaled uvs - colormap1
mul oT1.xy,v7.xy,c64.zw // output scaled uvs - colormap2
mov oT2.xy,v7.xy // output uvs - macromap

m3x3 r0,v3,c4 // transform normal to world space
dp3 r0.w,r0,r0 // renormalize it
rsq r0.w,r0.w
mul r0,r0,r0.w

dp3 r0,r0,-c16 // normal.light -> lighting constant
mul r0.xyz,r0,c17 // modulate against material diffuse color
add oD0.xyz,r0,c19 // add environment light

mov r1.w,c20.w // r1.w=1
dp4 r0,v0,c10 // distance to camera position
add r0,r0,-c20.x // distance-fog_start
mad r0.x,-r0.x,c20.z,r1.w // 1-(distance-fog_start)*(1/(fog_end-fog_start))
max oFog.x,r0.x,c95.w // clamp with custom max value
};
pixelShader=
asm
{
ps.1.3
def c0,0,0,0,1
tex t0 // sample colormap1
tex t1 // sample colormap2
tex t2 // sample macromap

lrp r0.rgb,t2.a,t0,t1 // blend t0 with t1 using the alpha channel of t2
+mov r0.a,c0

//add r0.rgb,r0,t2_bias // add(signed) rgb of t2

mul r0.rgb,r0,v0 // modulate with diffuse vertex lighting
};
}
}
";
}
Posted By: Steempipe

Re: Need Help with Terrain Multitexturing Shader - 03/11/05 07:21

drop the ".tga" from your entskin declarations.

texture entSkin1.tga -->> texture entSkin1
Posted By: sarahlover_247

Re: Need Help with Terrain Multitexturing Shader - 03/11/05 07:32

edit:oops, shoulda cropped
No errors just...
entSkin1 is my dirt texture
entSkin2 is my Grass texture
entSkin3 is my alpha map

Posted By: Steempipe

Re: Need Help with Terrain Multitexturing Shader - 03/11/05 07:42

Is your blendmap in the Alpha channel of entSkin3??
Posted By: sarahlover_247

Re: Need Help with Terrain Multitexturing Shader - 03/11/05 07:46

huh?
I haven't read the C-Script manual, so i pretty much understand the basics, so please, be simple with me
heres the what skins im using



Posted By: Steempipe

Re: Need Help with Terrain Multitexturing Shader - 03/11/05 08:43

So... you need to have the blendmap in the Alpha channel of the texture. Not in the RGB channels for your code.

You can try this file for entSkin3 and see if you have any better luck. And then maybe see what I am talking about.
11kb file
Posted By: sarahlover_247

Re: Need Help with Terrain Multitexturing Shader - 03/11/05 10:50

It just made everything black. I'll try to explain what I did and see were im going wrong...
I inserted entskin1 as a skin on my terrain, then i made a new layer thingamabobber and inserverted enskin2, then made a new layer thingy again and put on the black thing you gave me, and attached the terrain behavior. Did I do something wrong?
Posted By: sarahlover_247

Re: Need Help with Terrain Multitexturing Shader - 03/12/05 10:33

Anyone have any ideas?
Posted By: Steempipe

Re: Need Help with Terrain Multitexturing Shader - 03/13/05 07:45

Time is limimted...

Could you post a small level that replicates your problem. It would be quicker if I could run that and see what may be up.

Also, put your Gstudio, DX, and Vid Card specs in.
Posted By: sarahlover_247

Re: Need Help with Terrain Multitexturing Shader - 03/13/05 13:05

6.22
DirectX 9.0C
---------------
Display Devices
---------------
Card name: RADEON 9800 PRO (Omega 2.5.90)
Manufacturer: ATI Technologies Inc. (Omega 2.5.90)
Chip type: RADEON 9800 AGP (0x4E48)
DAC type: Internal DAC(400MHz)
Device Key: Enum\PCI\VEN_1002&DEV_4E48&SUBSYS_00021002&REV_00
Display Memory: 128.0 MB
Current Mode: 1024 x 768 (32 bit) (60Hz)
Monitor: Plug and Play Monitor
Monitor Max Res: 1600,1200
Driver Name: ati2dvag.dll
Driver Version: 6.14.0010.6490 (English)
DDI Version: 9 (or higher)




http://www.geocities.com/saralvr247/Level.zip



Thanks for the help
Posted By: Steempipe

Re: Need Help with Terrain Multitexturing Shader - 03/13/05 23:38

Either your link is bad, or, people have downloaded (leeched) without lending help and exceeded your geocities bandwidth.

You can try sending it to my email address in my profile.

Eric
Posted By: MACE

Re: Need Help with Terrain Multitexturing Shader - 03/14/05 08:44

The last texture..is probably your problem...I hope you have somthing like photoshop..if you do creat a new document at the approximate size and on the right side of the screen youll see the channels tab..at the bottom of it youll see a small icon for createing a new channel click it and select alpha...here is where you want to put that shape you have in black...now when you view this bitmap normaly it will apear black ...and it needs to be as a 32 bit.tga only this extra 8 bits is the little greyscale image you created in photoshop and what the shader is programed to use for shapeing the sections of the blend ...almost like a cookie cutter..at least this is my understanding i am certianly no expert

Posted By: sarahlover_247

Re: Need Help with Terrain Multitexturing Shader - 03/14/05 10:14

Steempipe made me a terrain, so its working now
© 2024 lite-C Forums