1) Try the "FX" showcase example (under basic3d) - that has some really good metallicly effects
2) I think pixel shaders for morrowind water, etc weren't just plug-n-play routines. I don't think it woeuld be possible to download a file, load it and tada! realistic water. You could ask Raven about this, he seems to know alot about this kind of thing.
3) If you look in the U5 example (under basic3d examples) that has a very good cel shading pixel shader there:
rem Create an object with an effect (one command)
make object sphere 1,100,29,28
set effect on 1,"cartoon.fx",1
And the cartoon.fx file:
//
// FX Effect file - Cartoon
//
// Constants
matrix wvp : WorldViewProjection;
matrix world : World;
matrix worldIT : WorldIT;
float4 eyePos : EyePosition;
float4 lhtDir < string UIDirectional = "Light Direction"; >;
// Model and Texture Names
string XFile = "default.x";
texture toonshade < string name = "shade.bmp"; >;
texture toonedge < string name = "edge.dds"; >;
technique Toon
{
pass p0
{
VertexShaderConstant[0] = <wvp>;
VertexShaderConstant[4] = <worldIT>;
VertexShaderConstant[8] = <world>;
VertexShaderConstant[12] = <eyePos>;
VertexShaderConstant[13] = <lhtDir>;
VertexShader =
asm
{
// v0 -- position
// v3 -- normal
vs.1.1
dcl_position v0
dcl_normal v3
// transform position
dp4 oPos.x, v0, c0
dp4 oPos.y, v0, c1
dp4 oPos.z, v0, c2
dp4 oPos.w, v0, c3
// transform normal
dp3 r0.x, v3, c8
dp3 r0.y, v3, c9
dp3 r0.z, v3, c10
// normalize normal
dp3 r0.w, r0, r0
rsq r0.w, r0.w
mul r0, r0, r0.w
// compute world space position
dp4 r1.x, v0, c8
dp4 r1.y, v0, c9
dp4 r1.z, v0, c10
dp4 r1.w, v0, c11
// vector from point to eye
add r2, c12, -r1
// normalize e
dp3 r2.w, r2, r2
rsq r2.w, r2.w
mul r2, r2, r2.w
// e dot n
dp3 oT1.x, r0, r2
// l dot n
dp3 oT0.x, r0, -c13
};
Texture[0] = <toonshade>;
Texture[1] = <toonedge>;
MinFilter[0] = Linear;
MagFilter[0] = Linear;
MipFilter[0] = Linear;
MinFilter[1] = Linear;
MagFilter[1] = Linear;
MipFilter[1] = Linear;
AddressU[0] = Clamp;
AddressV[0] = Clamp;
AddressU[1] = Clamp;
AddressV[1] = Clamp;
ColorOp[0] = SelectArg1;
ColorArg1[0] = Texture;
ColorOp[1] = Modulate;
ColorArg1[1] = Texture;
ColorArg2[1] = Current;
}
}
There's no place like 127.0.0.1
There are 10 people in this world, those who understand binary and those who don't.