AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Leichter Zugriff auf DirectX durch Kapselung
Thema durchsuchen
Ansicht
Themen-Optionen

Leichter Zugriff auf DirectX durch Kapselung

Ein Thema von schmorbraten · begonnen am 13. Aug 2004 · letzter Beitrag vom 24. Jun 2005
 
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Leichter Zugriff auf DirectX durch Kapselung

  Alt 18. Sep 2004, 18:07
ich habe die kapslung getestet und muss sagen: nicht schlecht, die ist nicht vergleichbar mit delphiX viel einfacher und kann zugleich auch mehr(auch wenn ich noch nicht alles verstanden habe)

aber was mir aufgefallen ist:

wenn du ein objekt erstl und eine andere position haben möchtes must du sie immer verschieben mit move habe ich gemacht und als ich das objekt drehen wollte um die Z achse hat sich die position immer verändern und es hat eine kreis bahn um die andre objekte gezogen, mein qullcode sieht so aus:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  xorDXThrowAllOtherExceptions := True;
  xorDXThrowCameraTransformationExceptions := False;
  xorDXThrowIndexSizeException := True;
  xorDXThrowCapsException := True;
  //creation
  Scene := TxorDXScene.Create(Handle);
  Camera := TxorDXCamera.Create(Scene);
  Rect := TxorDXRect.Create(Scene, 2, 2, 2, 2); //set standard coordinates and colors

  Wand1:= TxorDXRect.Create(Scene,2,2,2,2);
  Wand1.Color[1,0]:=clWhite; // rechts Unten
  Wand1.Color[1,1]:=clBlack; // rechts oben
  Wand1.Color[0,1]:=clYellow; // Oben Lings
  Wand1.Color[0,0]:=clBlue; // Lings Unten

  Wand2:= TxorDXRect.Create(Scene,2,2,2,2);
  Wand2.SetStandard;
  Wand2.Move(1.9,0,0);
  Wand2.FixTransformation;

  Wand2.Color[1,0]:=clWhite; // rechts Unten
  Wand2.Color[1,1]:=clBlack; // rechts oben
  Wand2.Color[0,1]:=clYellow; // Oben Lings
  Wand2.Color[0,0]:=clBlue; // Lings Unten

  Scene.CreateBuffers;
  //start
  Camera.SetStandard;
  Camera.Activate;
  Scene.BackgroundColor:=clBlue;
  Scene.SetAmbientLight(255,125,255,250);


  Scene.LightsOn:=True;
  Scene.OnDraw := Draw; //set draw routine
  Scene.StartLooping;
  Scene.Move(-1,1,1);
  Scene.RotateY(-10);

end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  //free in inverted order of creation
  FreeAndNil(Rect);
  FreeAndNil(Camera);
  FreeAndNil(Scene);
end;

//repeated drawing routine
procedure TForm1.Draw(Sender: TObject);
begin
  Scene.Clear;

  Rect.Insert;
  Rect.RotateZ(-0.10);
  Rect.Draw;


  Wand1.Insert;
  //Wand1.RotateX(-0.01);
  Wand1.Draw;

  Wand2.UndoTransformation;
  Wand2.Insert;

  Wand2.RotateZ(0.10);
  Wand2.Draw;

// Camera.Move(1,1,4);
end;
(ich habe einfach ein beispiel von dir genommen und es verändert *G*)

und ich hatt einen system absturzt bzw. mein loptop ging auf einmal aus als ich DrawStart mit 10 gesetzt hatte

eine deutsche hilfe währe nicht schlecht, weil sonst müste ich immer den qullcode durcharbeiten von dir...


und das mit den Alpha geht bei mir nicht ich habe es genauso gemacht wie mit den farben nur halt Alpha davor geschrieben und das objekt war nicht durchsichtig, warum nicht ???


kann man die camaer an ein objekt binden ??? bzw. die position verändern weil ich dort move aufgerufen habe passierte leider nichts

aber mach auf jedenfall weiter !!!
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
 


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 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz