del_4901
2004-06-27, 20:26:05
So, ich hab mir mal den FxComposer gezogen um ein bissel mit meinen Shadern spielen zu können bzw. für's debugging. Nur bei "Carmacks Reverse SSV", sieht das ganze ein bissel "zerhackt" aus also ich hab überall auf meinem Model schwarze stellen wo sie nicht sein sollten. am extrudeVS() liegt es nicht denke ich, denn der Occluder sieht gut aus. Irgendwie Peilt der das mit dem Stenciln nicht. omfg. Hat einer ne Idee worans liegen könnte?
technique stencil
{
pass layZ
{
VertexShader = compile vs_1_0 nothingVS();
ZEnable = true;
ZWriteEnable = true;
CullMode = None;
StencilEnable = false;
}
pass back
{
VertexShader = compile vs_1_1 extrudeVS();
ZEnable = false;
ZWriteEnable = false;
CullMode = CCW;
StencilEnable = True;
StencilPass = Keep;
StencilFail = Keep;
StencilZFail = IncrSat;
StencilFunc = Always;
ColorWriteEnable = 0;
}
pass front
{
VertexShader = compile vs_1_1 extrudeVS();
ZEnable = false;
ZWriteEnable = false;
CullMode = CW;
StencilEnable = True;
StencilPass = Keep;
StencilFail = Keep;
StencilZFail = DecrSat;
StencilFunc = Always;
ColorWriteEnable = 0;
}
pass lighting
{
VertexShader = compile vs_1_1 simpleVS();
ZEnable = true;
//ZWriteEnable = true;
CullMode = None;
StencilEnable = True;
StencilFunc = Equal;
StencilPass = Keep;
StencilZFail = Keep;
StencilFail = Keep;
StencilRef = 0;
ColorWriteEnable = 1;
}
technique stencil
{
pass layZ
{
VertexShader = compile vs_1_0 nothingVS();
ZEnable = true;
ZWriteEnable = true;
CullMode = None;
StencilEnable = false;
}
pass back
{
VertexShader = compile vs_1_1 extrudeVS();
ZEnable = false;
ZWriteEnable = false;
CullMode = CCW;
StencilEnable = True;
StencilPass = Keep;
StencilFail = Keep;
StencilZFail = IncrSat;
StencilFunc = Always;
ColorWriteEnable = 0;
}
pass front
{
VertexShader = compile vs_1_1 extrudeVS();
ZEnable = false;
ZWriteEnable = false;
CullMode = CW;
StencilEnable = True;
StencilPass = Keep;
StencilFail = Keep;
StencilZFail = DecrSat;
StencilFunc = Always;
ColorWriteEnable = 0;
}
pass lighting
{
VertexShader = compile vs_1_1 simpleVS();
ZEnable = true;
//ZWriteEnable = true;
CullMode = None;
StencilEnable = True;
StencilFunc = Equal;
StencilPass = Keep;
StencilZFail = Keep;
StencilFail = Keep;
StencilRef = 0;
ColorWriteEnable = 1;
}