Einzelnen Beitrag anzeigen

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, 22: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