Na, uns fehlen doch nicht etwa ein paar Grundlagen?
Delphi-Quellcode:
const
D3D8T_CustomVertex = D3DFVF_XYZ or D3DFVF_Diffuse or D3DFVF_TEX1; // Vertextyp
NormCube : TCube = (
(x :-1.0; y :-1.0; z :-1.0; color : $0000FF00; tu : 0; tv : 1), // Vorn
(x :-1.0; y : 1.0; z :-1.0; color : $000000FF; tu : 0; tv : 0),
(x : 1.0; y : 1.0; z :-1.0; color : $000000FF; tu : 1; tv : 0),
D3D8T_CustomVertex ist die Vertexdeklaration, und die besagt, dass jeder Vertex eine Diffuse-Farbe enthält. In diesem Fall heißt sie color. Folglich sind diese Farben die, die du auf $ffffffff setzen solltest.
Delphi-Quellcode:
SetPointLight(1.0, 0.0, 1.0,
0.0, 1.0, 0.0,
1.0, 0.0, 0.0,
1 , 1 , 1 ,
100, myVec, 1);
RGB(1.0, 0.0, 1.0) = Pink, abgedunkelt also lila. Vielleicht hier einfach mal weiß oder so einsetzen? Jedenfalls solltest du vielleicht besser mit etwas einfacherem Code anfangen. Zum Beispiel brauchst du kein Material, denn das Standardmaterial hat Diffuse weiß und alle anderen schwarz. Ich würde dir empfehlen, mal die Beispiele des
DirectX SDK bzw. die dort enthaltenen Tutorials auszuprobieren. Sind zwar nicht in Delphi, aber vielleicht trotzdem etwas einfacher.
Da du allerdings ohnehin mit SelfDXD arbeitest, könntest du dir auch das dortige Beispielprogramm zum Thema Licht und Material näher anschauen. Da kannst du nämlich mit den einzelnen Werten experimentieren und folglich evtl. deinen Fehler finden.