Einzelnen Beitrag anzeigen

napsterxx

Registriert seit: 18. Mär 2007
Ort: Borland
556 Beiträge
 
Delphi 7 Enterprise
 
#1

Undefinierter Bezeichner: 'TD3DXVector3' - Muss es geben

  Alt 25. Apr 2008, 20:06
Vielleicht kennt der ein oder andere das Buch, DirectX für Delphi. Ich habe mir das bestellt und arbeite derzeit damit. Bin auf Seite 71 und es handelt sich um Vertices. Jedoch hänge ich aus unerklärlichen gründen. Laut Autor, muss es diese TD3DXVector 3 geben.

Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, direct3d9, dxhelp, ExtCtrls;

type
  TForm2 = class(TForm)
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
    procedure OnIdle(Sender: TObject; var done: boolean);
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;
  Direct3D9: IDirect3D9;
  D3DDev9: IDirect3DDevice9;


implementation

{$R *.dfm}

type
  TD3DLVertex = record
    position: TD3DXVector3;
    diffuse: TD3DColor;
  end;

const
  D3DFVF_TD3DLVertex = D3DFVF_XYZ or D3DFVF_DIFFUSE;

function InitGeometry: HResult;
var
  Vertices: Array[0..2] of TD3DLVertex;
begin
  D3DDev9.CreateVertexBuffer(sizeof( TD3DLVertex ) * 3, D3DUSAGE_WRITEONLY,
                             D3DFVF_TD3DLVERTEX, D3DPOOL_DEFAULT,
                             Vertexbuffer, nil);


end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  DHInitDGFX( Handle, False, 1280,1024,32, True, Direct3D9, D3DDev9 );
  Application.OnIdle := OnIdle;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  DHCloseDGFX( Direct3D9, D3DDev9);
end;

procedure Render;
begin
  D3DDev9.BeginScene;
  D3DDev9.Clear( 0, nil, D3DCLEAR_TARGET, D3DCOLOR_ARGB(0,0,0,0), 1.0, 0);
  D3DDev9.EndScene;
  D3DDev9.Present( nil, nil, 0, nil );
end;

procedure TForm2.OnIdle(Sender: TObject; var done: boolean);
begin
  done := false;
  Render;
end;

end.

Aber ich bekomme die Meldung:
Zitat:
Undefinierter Bezeichner: 'TD3DXVector3'
Du derefernzierst p2 einmal und weißt die Adresse von i zu. Das heißt p2 (also der Zeiger auf einen Zeiger) zeigt auf den Zeiger p1 welchen du so auf i zeigen lässt.
  Mit Zitat antworten Zitat