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 (Nick-)Name
Datum 14. Juni 2011 um 23:50:35
Antwort
Zitat:
Ist ja doch auch logisch wenn deine Normalvektoren irgendwohin zeigen!? Im Sinne der Beleuchtung sind
Vertices Punkte der Oberfläche zu der sie gehören und die Normalvektoren geben die Richtung an in die
die Oberfläche an der jeweiligen Stelle schaut. Ohne vernünftige Normalvektoren kann auch die
Beleuchtung nicht vernünftig funktionieren...

das habe ich mir schon iwie gedacht (siehe:
Zitat:
müsste man nicht bei den Normalen einen Vektor angeben, der senkrecht auf dem Vertex steht (senkrecht: bezogen auf die umliegenden Flächen)?
)
Nur wie man die berechnet, wusste ich nicht.
Aber nach vielem Nachdenken und Rumprobieren, habe ich auch selber einen Algorithmus gefunden.
Ich hab nur noch eine Frage:
Public Sub AddVertex(X As Single, Y As Single, Z As Single, Diffuse As Long, Specular As Long, tu As Single, tv As Single, Optional nx As Single = 1, Optional ny As Single = 1, Optional nz As Single = 1)
On Error GoTo BailOut
If Vertices_Init Then ReDim Preserve Vertices(UBound(Vertices) + 1) Else ReDim Vertices(0)
Vertices(UBound(Vertices)) = CreateLitVertex(X, Y, Z, Diffuse, Specular, tu, tv, nx, ny, nz)
Vertices_Init = True
Set VBuffer_Mesh(UBound(VBuffer_Mesh)) = D3DDevice.CreateVertexBuffer(Len(Vertices(0)) * (UBound(Vertices) + 1), D3DUSAGE_WRITEONLY, Lit_FVF, D3DPOOL_MANAGED)
D3DVertexBuffer8SetData VBuffer_Mesh(UBound(VBuffer_Mesh)), 0, Len(Vertices(0)) * (UBound(Vertices) + 1), 0, Vertices(0)
BailOut:
Resume Next
End Sub
an dieser Stelle:
D3DVertexBuffer8SetData VBuffer_Mesh(UBound(VBuffer_Mesh)), 0, Len(Vertices(0)) * (UBound(Vertices) + 1), 0, Vertices(0)
kommt es zu einem Laufzeitfehler (Automatisierungsfehler), kann mir jemand sagen wieso und wie ich ihn verhindern kann?
LG
[ 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