DirectX-Forum - Beitragsübersicht -
ThemaDX8: Lichter in DirectX8
Von (Nick-)Name
Datum 11. Juni 2011 um 00:39:08
Frage Hi
wie der Titel schon sagt versuche ich in DirectX8 Lichter einzufügen
dabei habe ich die Projektdatei "Wellen" von "Klaus Neumann" aus den Tutorials dieser Webseite als Grundlage genommen
und hab ein Licht definiert, diesem Eigenschaften zugewiesen und es an die SetLight Methode des Device weitergereicht
und anschließend der Devicemethode EnableLight true übergeben
Aber es ändert sich nichts
Was hab ich vergessen?
LG
Antwort:
Von Michael Kenzel
E-Mail dot@aon.at
Datum 15. Juni 2011 um 00:30:25
Antwort
Zitat:
Nur wie man die berechnet, wusste ich nicht.

Die Normale auf ein Dreieck kannst du über das
Kreuzprodukt zweier Kantenvektoren berechnen.
Die Vertexnormale kannst du dann z.B. als Mittel der Normalen aller Dreiecke die sich den Vertex
teilen berechnen. Ein sehr gängiger Algorithmus schaut dabei so aus:
1. Alle Vertexnormalen zu 0 initialisieren
2. Alle Dreiecke durchlaufen und deren Normale berechnen: (B - A) x (C - A) wobei A, B, C die
Eckpunkte sind (Achtung auf die Reihenfolge, wenn die verkehrt ist zeigt die Normale in die verkehrte
Richtung). Die so berechnete Flächennormale (nicht normalisiert!) zur Normale aller beteiligten
Vertices addieren.
3. Alle Vertices durchlaufen und die Vertexnormalen normalisieren.
Bei dieser Vorgehensweise spart man nicht nur haufenweise Normierungen sondern erreicht auch dass die
resultierenden Normalen automatisch nach den Flächeninhalten der beteiligten Dreiecke gewichtet sind
(da die Länge des Kreuzproduktes proportional zur Dreiecksfläche ist).

Kleine Anmerkung: Die Begriffe Normale und normalisieren haben nichts miteinander zu tun. Eine
Normale ist ein Vektor der normal auf irgendwas steht (also im rechten Winkel drauf). Unter
normalisieren versteht man einen Vektor mit der Inversen seiner Länge zu skalieren sodass er dann
Länge 1 hat. Ein normalisierter Vektor ist ein Vektor mit Länge 1. Manche Leute bringen das gerne
durcheinander und dann ist obige Erklärung vermutlich sehr verwirrend.

Mein VB ist leider zu eingerostet als dass ich dir was hilfreiches bezüglich des andren Fehlers sagen
könnte. Vielleicht ist ja irgendeines der beteiligten Objekte Nothing oder irgendwelche Größenangaben
stimmen nicht!?
[ Antwort schreiben | Zurück zum DirectX-Forum | Forum-Hilfe ]
Antworten
DX8: Lichter in DirectX8 - (Nick-)Name 11. Juni 2011 um 00:39:08
Re: Lichter in DirectX8 - Nico 11. Juni 2011 um 19:26:36
Re: Lichter in DirectX8 - (Nick-)Name 11. Juni 2011 um 22:30:12
Re: Lichter in DirectX8 - Nico 12. Juni 2011 um 09:58:14
Re: Lichter in DirectX8 - (Nick-)Name 12. Juni 2011 um 18:13:42
Re: Lichter in DirectX8 - Nico 12. Juni 2011 um 18:40:24
Re: Lichter in DirectX8 - (Nick-)Name 12. Juni 2011 um 23:20:11
Re: Lichter in DirectX8 - Nico 13. Juni 2011 um 00:28:55
Re: Lichter in DirectX8 - (Nick-)Name 14. Juni 2011 um 21:36:16
Re: Lichter in DirectX8 - Michael Kenzel 14. Juni 2011 um 21:50:29
Re: Lichter in DirectX8 - (Nick-)Name 14. Juni 2011 um 23:50:35
Re: Lichter in DirectX8 - Michael Kenzel 15. Juni 2011 um 00:30:25
Re: Lichter in DirectX8 - Nico 15. Juni 2011 um 10:28:28
Re: Lichter in DirectX8 - Michael Kenzel 15. Juni 2011 um 10:50:30
Re: Lichter in DirectX8 - Nico 15. Juni 2011 um 10:51:54
Re: Lichter in DirectX8 - Michael Kenzel 15. Juni 2011 um 10:59:58
Re: Lichter in DirectX8 - (Nick-)Name 15. Juni 2011 um 12:14:26
Re: Lichter in DirectX8 - (Nick-)Name 05. Juli 2011 um 16:42:01

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 8
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