Seite 1 von 1
[DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 15:57
von witziok
Hallo,
wie bekommt man die Artifacts weg beim Self-Shadowing.
Ich habe eine depth ShadowMap die ich für weitere Objekte berechnen will
leider sind die Artifacts so arg das ich das wohl vergessen kann oder wie?
Auf dem Screenshots kann man das extrem sehen
Haus sowie Model.
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 16:05
von dot
Verwend beim Rendern der Shadow Map einen Slope Scaled Depth Bias.
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 16:17
von Andre
Hab das hier vor ein paar Jahren mal gefunden:
Zwar noch nicht selber eingebaut, sieht aber nützlich aus.
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 19:56
von witziok
dot hat geschrieben:Verwend beim Rendern der Shadow Map einen Slope Scaled Depth Bias.
Slope Scaled Depth Bias:
kann man das auf die fertige shadow map anwenden oder muss man da extra eine shadow map rendern?
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 20:03
von witziok
Andre hat geschrieben:Hab das hier vor ein paar Jahren mal gefunden:
Zwar noch nicht selber eingebaut, sieht aber nützlich aus.
danke
gucke ich durch.
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 21:13
von dot
witziok hat geschrieben:dot hat geschrieben:Verwend beim Rendern der Shadow Map einen Slope Scaled Depth Bias.
Slope Scaled Depth Bias:
kann man das auf die fertige shadow map anwenden oder muss man da extra eine shadow map rendern?
Wie renderst du die Shadow Map denn genau?
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 06.03.2013, 21:21
von witziok
in normale depth texture (depth shadow map)
1. ich erstelle shadow map
2. die shadow map verwende ich dann für terrain + objekte... Terrain wird alles richtig dargestellt.
ich habe gelesen das man rasterizerState auch verwenden kann für Bias.. aber wie das genau geht finde ich nix.
rasterizerState.DepthBias = true;
rasterizerState.DepthBiasClamp = 1000.0;
rasterizerState.SlopeScaledDepthBias = 1.0f;
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 09.03.2013, 18:56
von Jonathan
Bei geschlossenen Objekten kann man das Culling umstellen, so dass in die Shadowmap nur die Rückseite gerendert wird.
So verschwinden die Artefakte auf der Vorderseite (da die Rückseite ja ein ganzes Stück entfernt ist) und auf der Rückseite wird das Objekt auch nicht beleuchtet, unabhängig von Schatten oder nicht Schatten.
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 11.03.2013, 20:46
von witziok
Jonathan hat geschrieben:Bei geschlossenen Objekten kann man das Culling umstellen, so dass in die Shadowmap nur die Rückseite gerendert wird.
So verschwinden die Artefakte auf der Vorderseite (da die Rückseite ja ein ganzes Stück entfernt ist) und auf der Rückseite wird das Objekt auch nicht beleuchtet, unabhängig von Schatten oder nicht Schatten.
troz dem habe ich noch diese Artifacts.. zwar nicht mehr so arg aber immer noch etwas.
wie funktioniert das mit SlopeScaledDepthBias?
wegen blöden schatten dauert mein projekt lange,
schade das es keine Dokus gibt für Schatten anfänger.
und gibts keine dokus von directx 10 wie man das anwenden kann?
rasterizerState.DepthBias = true;
rasterizerState.DepthBiasClamp = 1000.0;
rasterizerState.SlopeScaledDepthBias = 1.0f;
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 11.03.2013, 21:00
von dot
Re: [DX10] Self-Shadowing Artifacts
Verfasst: 12.03.2013, 11:41
von witziok