Seite 1 von 1

[DX10] Winding order Verwirrung

Verfasst: 19.05.2010, 17:37
von Marserdling
Hi, es ist ja peinlich genug nicht über so etwas so Elementares Bescheid zu wissen, aber wie so oft bei mir in elementaren Grundlagen, lerne ich diese immer ganz zum Schluss wenn es schon fast zu spät ist:
Ich habe in Directx10 ein Array aus 6 Punkten: (z ist immer 1.0f) und zeichne es als TriangleList mittels DrawUserPrimitives
0/0
1/0
1/1

0/0
1/1
0/1

Warum wird nur das erste Dreieck mit angemachtem Backface culling angezeigt? Die Vertices gehen doch in beiden Fällen "nach rechts". (wenn man den 0/0 Ursprung links oben im Fenster sieht).
Das Array rendert sich problemslos in XNA und DX9, was noch unverständlicher ist. Naja evt. könnte man argumentieren dass das 2te Dreieck beim 3ten Vertex wieder nach links springt, aber das ist alles so schwammig...Hilfe?
(und ja, habe 3 verschiedene Renderer: xna, slimdx9, slimdx10..)

Re: [DX10] Winding order Verwirrung

Verfasst: 19.05.2010, 17:42
von Schrompf
Beide Dreiecke haben die gleiche Orientierung, soweit ich das von den Zahlen her sagen kann. Ich vermute, Du machst was anderes falsch... Vertexgröße in Bytes vielleicht? Index-Adressierung? Index-Buffer in Benutzung? Korrekte Anzahl Dreiecke angegeben?

Re: [DX10] Winding order Verwirrung

Verfasst: 19.05.2010, 17:44
von Krishty
Wie transformierst du die Koordinaten denn?
(In D3D10 ist der Ursprung der Koordinaten in der BildschirmMitte, die X-Achse geht nach rechts und die Y-Achse nach oben … darum denke ich nicht, dass du die Koordinaten so zum Rasterizer durchreichst)

Gruß, Ky

Re: [DX10] Winding order Verwirrung

Verfasst: 19.05.2010, 18:02
von Marserdling
Danke euch, war schon richtig verunsichert. Es war tatsächlich kein Problem mit der winding order, hab wohl immer befürchtet, dass sie mich mal einholt weil sie mir suspekt war. Ein blöder Fehler und es tut mir schon Leid dass ich eure Zeit beansprucht habe: hatte die PrimitiveTopology auf "TriangleStrip" und nicht
wie von 6 Vertices gefordert auf TriangleList.

@ Krishty: Du hast recht, es kam noch eine WorldViewProjection Matrix im Shader dazu, was diesmal keine Rolle spielt.