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..)
[DX10] Winding order Verwirrung
-
- Beiträge: 15
- Registriert: 02.05.2009, 11:45
- Benutzertext: Erdling vom Mars.
[DX10] Winding order Verwirrung
Zuletzt geändert von Marserdling am 19.05.2010, 17:51, insgesamt 1-mal geändert.
- Schrompf
- Moderator
- Beiträge: 5047
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: [DX10] Winding order Verwirrung
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?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Krishty
- Establishment
- Beiträge: 8316
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: [DX10] Winding order Verwirrung
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
(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
-
- Beiträge: 15
- Registriert: 02.05.2009, 11:45
- Benutzertext: Erdling vom Mars.
Re: [DX10] Winding order Verwirrung
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.
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.