AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Prism Direct3D.Device.Lights Problem (DX9 Tutorial 4)
Thema durchsuchen
Ansicht
Themen-Optionen

Direct3D.Device.Lights Problem (DX9 Tutorial 4)

Ein Thema von JamesTKirk · begonnen am 25. Nov 2006
Antwort Antwort
Benutzerbild von JamesTKirk
JamesTKirk

Registriert seit: 9. Sep 2004
Ort: München
604 Beiträge
 
FreePascal / Lazarus
 
#1

Direct3D.Device.Lights Problem (DX9 Tutorial 4)

  Alt 25. Nov 2006, 23:55
Hallo Leute!

Seit heute versuche ich ein wenig in (D).NET einzusteigen und nach kleineren Erfolgen konnte ich es auch nicht lassen mich an Direct3D ranzuwagen... hab also erstmal die Tutorials des SDKs in Angriff genommen, traf aber im 4. Tutorial (Materials and Lights) auf ein nicht behebares Problem: eine OutOfRange-Exception bei Device.Lights. Sowohl mehrfaches Suchen (sorry, falls die Lösung doch schon irgendwo hier drin steht ) als auch ein Vergleich mit der D.NET übersetzung des Tutorials in der Code-Library brachten mich einer Lösung nicht wirklich näher. Mir ist eigentlich schon klar, warum unten stehender Code nicht funzt - es wird ja schließlich nirgendwo ein D3DLight geaddet - aber wie macht man dies nun? (vor allem, wenn keine Add Methode vorhanden ist)

Hiermal die entscheidende Codestelle:

Delphi-Quellcode:
  
//FDevice ist ein private Feld von TWinForm als Microsoft.DirectX.Direct3D.Device

procedure TWinForm.SetupLights;
begin
  {...}

  FDevice.Lights[0].&Type:=LightType.Directional;
  FDevice.Lights[0].Diffuse:=System.Drawing.Color.DarkTurquoise;
  FDevice.Lights[0].Direction := Vector3.Create(
                    Math.Cos(Environment.TickCount / 250.0),
                    1.0,
                    Math.Sin(Environment.TickCount / 250.0));
  FDevice.Lights[0].Enabled:=True;

  {...}
PS: Für die von euch, die sich Fragen, warum ich das in der TWinForm alles mach: Ich will jetzt erstmal die Unterschiede zwischen Native Direct3D und Direct3D.NET herausfinden und dann kümmere ich mich um ein wenig mehr OOP

Edit: OK... hat sich erledigt... wenn man einfach zu DUMM zum Code komplett auf das Tutorial anpassen und danach auch noch zum Debuggen ist... Hatte vergessen mein Vertexarray von [0..2] auf [0..99] zu erweitern... Sry für des sinnlose Posting und gut nacht
Sven
[Free Pascal Compiler Entwickler]
this post is printed on 100% recycled electrons
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz