Habe heute die ersten Shader zum laufen gebracht (hab endlich 6.31

) und habe die 2 Toonshader vom Wiki ausprobiert. Der erste hat einen Fehler wenn ich mich nicht irre (siehe Bilder), der zweite sagte mir noch etwas weniger zu als der erste.
Zwischen der gezeichneten Linie und dem Modell fehlt ein wenig Füllmasse wie mir scheint, dies scheint ausschließlich unterhalb, eigentlich nie seitlich oder oberhalb der Polygone vorzukommen.
Nun wollte ich fragen ob dieser Fehler schon bekannt ist und möglicherweise schon bereinigt wurde. Und falls nicht, ob mir jemand unter die Arme greifen könnte?
Hier der Code:
Quote:
bmap bmp_toonlookup=<toonlookup.tga>;
material mtl_toon
{
skin1=bmp_toonlookup;
effect =
"
matrix matWorldViewProj;
matrix matWorld;vector vecSunDir;
texture entSkin1;texture mtlSkin1;
technique t0{
pass p0 // shade it
{
zwriteenable= true;
zenable = true;
Texture[0]=<mtlSkin1>;
ColorOp[0]=Modulate;
ColorArg1[0]=Texture;
ColorArg2[0]=Texture;
AddressU[0]=Clamp;
AddressV[0]=Clamp;
AddressW[0]=Clamp;
TexCoordIndex[0]=0;
Texture[1]=<entSkin1>;
ColorOp[1]=Modulate;
ColorArg1[1]=Texture;
ColorArg2[1]=Current;
TexCoordIndex[1]=1;
VertexShaderConstant[0] = <matWorldViewProj>;
VertexShaderConstant[4] = <matWorld>;
VertexShaderConstant[7] = <vecSunDir>;
VertexShader = asm
{
vs_1_0
dcl_position v0
dcl_normal v3
dcl_texcoord0 v7
dcl_texcoord1 v8
mov oT2.xy, v7
dp4 oPos.x, c0, v0
dp4 oPos.y, c1, v0
dp4 oPos.z, c2, v0
dp4 oPos.w, c3, v0
dp3 r0.x, c4.xyz, v3.xyz
dp3 r0.y, c5.xyz, v3.xyz
dp3 r0.z, c6.xyz, v3.xyz
dp3 oT0.x, r0.xyz, -c7.xyz
mov oT1.xyz, v8
};
}
pass p1 // ink it
{
CULLMODE=CW;
vertexShaderConstant[0]=<matWorldViewProj>;
vertexShaderConstant[16]=0.3; // outline thickness
vertexShader = asm
{
vs_1_0
dcl_position v0
dcl_normal v3
dcl_texcoord v7
mov r0,v0
mul r1,c16.x,v3
// Scale the normal
add r0.xyz,r0.xyz,r1.xyz
m4x4 oPos,r0,c0
// Transorm position to clip space
mov oD0, c0
mov r0,c0
};
}
}
";
}
action toon
{
my.material=mtl_toon;
}
Ich habe über die Suche auch alles nachgesehen, was in den letzten 2 Jahren mit Toonshader zu tun hatte - habe aber leider nichts Interessantes gefunden.
Ich habe auch nichts dagegen, wenn es noch andere Toonshader gibt und die hier genannt werden würden. ;-)
MFG,
Punker.