Das bekannte Programm zur optimalen Vorbereitung auf die theoretische Führerscheinprüfung
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 Nico
E-Mail nico.schertler@studentpartners.de
Datum 12. Juni 2011 um 18:40:24
Antwort Hallo,

nur kurz eine Frage. Wenn du mit DirectX anfängst, warum dann mit der Version 8? Mittlerweile gibts ja schon 11...
Zitat:
Public Const Lit_FVF = (D3DFVF_XYZ Or D3DFVF_DIFFUSE Or D3DFVF_SPECULAR Or D3DFVF_TEX1)

Also sind keine Normalen drin...
Zitat:
Fixed Function Pipeline
------------------------------
Eine Anfängerfrage: Was ist das? (Ich hätte jetzt mal geraten, dass hier kein shader(z.B. Vertex shader) die Daten vor dem Rendern verändert)

Die FFP ist die Folge von Verarbeitungsschritten, die DirectX macht, wenn kein Shader definiert ist. Letztendlich ist das auch eine Art Shader, nur eben ein festverdrahteter. Ab DX 10 gibt es keine FFP mehr. Da muss der Programmierer alles im Shader machen.
Zitat:

D3DDevice.SetRenderState D3DRS_LIGHTING, 0
------------------------------
Das einzige, was passiert, wenn ich diese Zeile rauslösche oder einen anderen Wert angebe, ist, dass Objekte mit Textur nur noch schwarz erscheinen.

Das ist genau das, was auch eigentlich passieren soll. Wenn du den Wert auf 1 setzt, wird Lighting aktiviert. Dabei sucht das Programm in der FFP die Normalen und berechnet daraus, wieviel der Beleuchtung an dem jeweiligen Vertex / Pixel ankommt. Wenn du keine Normalen hast, wird die Lichtintensität mit 0 multipliziert. Also wird alles schwarz. Verpasse deinen Vertexdaten noch ein paar Normalen, und das ganze sollte passen.

Nico
[ 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