DirectX-Forum - Beitragsübersicht -
ThemaDX9: StencilBuffer
Von Nico
E-Mail nico.schertler@gmx.de
Datum 13. Januar 2009 um 14:13:07
Frage Hallo!

Ich versuche gerade, das Rendern eines Primitives auf einen rautenförmigen Bereich einzugrenzen, der als Textur auch vorliegt. Soweit ich ich, werden dazu doch StencilBuffer verwendet, oder? Also hab ich mir mal das Sample StencilMirror aus dem SDK angesehen. Dazu mal eine Frage:
Wer sagt denn dort DX, dass die Wasseroberfläche in der Sub RenderMirror in den StencilBuffer gerendert wird und nicht auf den Backbuffer. Ein anderes RenderTarget wird da ja nicht eingestellt.

Nico
Antwort:
Von Nico
E-Mail nico.schertler@gmx.de
Datum 23. Januar 2009 um 15:37:59
Antwort Hallo!

wie meinst du denn "Das Blending über Spriteflags aktivieren"?
Zum Initialisieren des Alpha-Blendings habe ich bis jetzt folgendes:
D3DDevice.RenderState.AlphaFunction = Compare.Greater
D3DDevice.RenderState.AlphaTestEnable = True
D3DDevice.RenderState.DestinationBlend = Blend.InvSourceAlpha
D3DDevice.RenderState.SourceBlend = Blend.SourceAlpha
D3DDevice.RenderState.DiffuseMaterialSource = ColorSource.Material
D3DDevice.RenderState.AlphaBlendEnable = True
D3DDevice.TextureState(0).ColorOperation = TextureOperation.Modulate
D3DDevice.TextureState(0).ColorArgument0 = TextureArgument.Diffuse
D3DDevice.TextureState(0).ColorArgument1 = TextureArgument.TextureColor
D3DDevice.TextureState(0).AlphaOperation = TextureOperation.Modulate
D3DDevice.TextureState(0).AlphaArgument0 = TextureArgument.Diffuse
D3DDevice.TextureState(0).AlphaArgument1 = TextureArgument.TextureColor
Aber ich werde da wohl lieber mal ein Polygon nehmen und darauf rendern um Fehlerquellen zu vermeiden.
Ich hätte mal noch ein Problem: Bis jetzt hatte ich als BackBufferFormat D16. Da ist ja nun aber kein StencilBuffer dabei. Also hab ich mal probiert, welche Formate bei mir noch so gehen. In Frage würde da nur noch der D24S8 kommen. Da werden ja auch wie bei D16 die 16 bit für den z-Buffer verwendet. Aber wenn ich das neue Format verwende, flackern Texturen, die an ähnlichen Positionen liegen. Also mal ist die eine Textur oben, mal die andere. Ich hab schon versucht, den Abstand zu vergrößern, aber so weit, wie ich den vergrößern müsste, kann ich das nicht machen. Zur Info: Die Texturen stellen Straßen dar und sollten möglichst auf einer Höhe sein, ich habe jetzt einen Unterschied von 0.1 Einheiten. Außerdem flackert auch der FlatShadow, wenn der darüber gelegt wird. Gibt es eine Möglichkeit, das zu umgehen?

Nico
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ]
Antworten
DX9: StencilBuffer - Nico 13. Januar 2009 um 14:13:07
Re: StencilBuffer - mdx 15. Januar 2009 um 00:38:18
Re: StencilBuffer - Nico 15. Januar 2009 um 14:39:54
Re: StencilBuffer - mdx 15. Januar 2009 um 19:38:34
Re: StencilBuffer - Nico 19. Januar 2009 um 11:12:08
Re: StencilBuffer - mdx 19. Januar 2009 um 19:36:10
Re: StencilBuffer - Nico 19. Januar 2009 um 19:43:46
Re: StencilBuffer - mdx 22. Januar 2009 um 17:37:36
Re: StencilBuffer - Nico 23. Januar 2009 um 15:37:59
Alles klar - Nico 23. Januar 2009 um 18:41:51
Re: Alles klar - mdx 23. Januar 2009 um 19:59:02
Re: StencilBuffer - mdx 19. Januar 2009 um 20:58:47
Code - Nico 15. Januar 2009 um 14:48:39

Ihre Antwort
(Nick-)Name   Wichtige Informationen zur Namensangabe
E-Mail (opt.)  Wichtige Informationen zur Angabe einer eMail-Adresse
Thema   Wichtige Informationen zur Angabe eines Themas
Betrifft (IDE)  DirectX 9
Ihre Antwort
Smilies
Mehr...
FettKursivUnterstrichen   Übersicht der Tipp-KürzelÜbersicht der Projekt-KürzelÜbersicht der Bücher-Kürzel 
Homepage
Titel
Root-Smilies              
             
             
[ Zurück zum DirectX-Forum | Forum-Archiv | Forum-Hilfe | Chat ]

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB.Net | .Net-Forum | DirectX | DirectX-Forum | Chat | Ausschreibungen | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Sonntag, 13. Dezember 2015