Domanda

Ho creato una semplice applicazione DirectX che rende un campo di vertici. I vertici sono resi in questo modo (se visto dall'alto):

|\|\|\|\|
|\|\|\|\|

Ogni triangolo è reso in questo modo:

1
|\
2 3

che dovrebbe significare che il poligono è in senso antiorario e non essere resa, ma lo è. In ogni caso se visto dalla parte superiore del piano è perfetto.

Tuttavia, se visti da un altro livello alcuni poligoni sono una sorta di trasparente e si possono vedere la geometria dietro di loro. Ho evidenziato alcuni del luogo in cui questo sta accadendo.

Sto pensando questo è alcuni dei problemi di base, per principianti. Che cosa mi manca? La mia descrizione rasterizer è tale:

new RasterizerStateDescription
                                {
                                    CullMode = CullMode.Front,
                                    IsAntialiasedLineEnabled = true,
                                    IsMultisampleEnabled = true,
                                    IsDepthClipEnabled = true,
                                    IsFrontCounterclockwise = false,
                                    IsScissorEnabled = true,
                                    DepthBias = 1,
                                    DepthBiasClamp = 1000.0f,
                                    FillMode = FillMode.Wireframe,
                                    SlopeScaledDepthBias = 1.0f
                                };

alt text

È stato utile?

Soluzione 2

Si è rivelato Ho appena avuto alcuna profondità-stencil buffer di set up. Oh, bene.

Altri suggerimenti

Questo legato alla progettazione. FillMode.Wireframe disegna solo bordi di ciascun triangolo come linee. Questo è tutto.

Fare un primo passaggio di una modalità solido riempimento e scrive su di profondità e una maschera di colore (RenderTargetWriteMask in D3D11 terminologia), e un secondo con il test di profondità (ma la profondità scrive off) e la modalità wireframe on. Si avrà probabilmente bisogno di polarizzazione profondità ugualmente poiché linee e triangoli non sono rasterizzati stesso modo (e loro z possono differire dalla posizione uguale frammento).

A proposito, questa tecnica è conosciuta come la rimozione delle linee nascoste. È possibile controllare questa presentazione per ulteriori dettagli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top