PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : HLSL / CgFx Stencil Shadow Volume


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;
}

del_4901
2004-06-27, 21:01:28
achja um das ganze mal zu verbildlichen:
also wenn ich mich um das Model drehe sieht es so aus, als ob die schwarzen stellen über dem gedrehten Model stehen bleiben ... das sieht ganz komisch aus, und geht auch manchmal langsam wieder weg??? Liegt das vielleicht am Composer?

Corrail
2004-06-28, 13:39:16
Poste bitte ein paar Screenshots

Xmas
2004-06-28, 14:04:25
Wird der Stencil-Buffer auch gelöscht? Dass die Stellen über dem Model stehen bleiben, deutet auf Probleme damit hin.

del_4901
2004-06-28, 15:54:25
So sollte es aussehen, mal ab gesehen davon das Selfshadowing noch nicht ganz funzt, der Shadow im mom ist ne normalmap.

del_4901
2004-06-28, 15:55:19
So siehts aus nachdem ich ein bissel um das Obj rotiere.

del_4901
2004-06-28, 15:56:42
Und so nachdem die Scene "reloaded" wurde ... strange scheint wohl noch Bugs zu haben der Composer, oder ich bin zu dumm.

Corrail
2004-06-28, 15:59:30
Das schaut sehr verdächtig nach Z-buffer Problemen aus. Ich glaube das du da Probleme mit der Genauigkeit des Z-Buffer. Vorallem da du durch Carmacks Reverse eine Infinity Far Plane hast. Probier mal die Bits des Depth-Buffer rauf zu drehen und die Near Plane so weit wie möglich von der Kamera weg zu geben.

del_4901
2004-06-28, 16:06:57
Original geschrieben von Corrail
Das schaut sehr verdächtig nach Z-buffer Problemen aus. Ich glaube das du da Probleme mit der Genauigkeit des Z-Buffer. Vorallem da du durch Carmacks Reverse eine Infinity Far Plane hast. Probier mal die Bits des Depth-Buffer rauf zu drehen und die Near Plane so weit wie möglich von der Kamera weg zu geben.

da ich nicht genau weiß wie das mit dem Composer geht, werd ich das nachher mal in aller Ruhe alles in meine OGL Engine schmeißn, mal sehn, was ich zu sehen bekomme, oder auch nicht.