Thema: Delphi [DirectX] Flip Y Axis

Einzelnen Beitrag anzeigen

Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#1

[DirectX] Flip Y Axis

  Alt 9. Nov 2006, 15:58
Hallo,

da ich mit meinem Spiel die absoluten Grenzen von DelphiX erreicht habe, schreibe ich gerade an einer neuen 2D Engine, welche DirectX 9 verwendet.

Ich setze die VIEW und die PROJECTION Matrix am anfang meines Programmes mit folgenden Zeilen:

Delphi-Quellcode:
procedure SetupScene(Appl:TAndorraApplication;AWidth,AHeight:integer);
var centerx,centery:single;
    pos, dir, up : TD3DXVector3;
    matView, matProj: TD3DXMatrix;
begin
  if Appl <> nil then
  begin
    with TAndorraApplicationItem(Appl) do
    begin
      pos := D3DXVector3 (Awidth/2,AHeight/2,-10);
      dir := D3DXVector3 (Awidth/2,AHeight/2,0);
      up := D3DXVector3 (0,1,0);

      D3DXMatrixLookAtLH( matView, pos, dir, up);
      Direct3d9Device.SetTransform(D3DTS_VIEW, matView);

      D3DXMatrixOrthoLH( matProj, Awidth, Aheight, 0,100);
      Direct3d9Device.SetTransform(D3DTS_PROJECTION, matProj);
    end;
  end;
end;
Problem ist nun, dass der Koordinatenursprung nun links unten und nicht links oben liegt.
Wie kann ich die Y Achse umdrehen?


Ich habe schon stundenlang gesucht aber nichts (brauchbares) gefunden (Mal abgesehen von einigen Leuten, die das selbe Problem, aber keine Lösung hatten. Das einzige war das folgende...
http://209.85.135.104/search?q=cache:aI4kwcynbfUJ:discuss.microsoft.com/SCRIPTS/WA-MSD.EXE%3FA2%3Dind0303c%26L%3Ddirectxdev%26D%3D1%2 6P%3D14229%26F%3DP+D3DXMatrixOrthoLH+origin&hl=de& amp;gl=de&amp;ct=clnk&amp;cd=10&amp;lr=lang_de|lan g_en
doch ich bekomme den Code nicht so richtig zum Funktionieren...

Im Anhang befindet sich mal noch ein Bild, wie es aussieht und wie es eigentlich aussehen sollte.

Schon mal Danke,
Igel457

PS: Ich möchte ID3DXSprite nicht verwenden.
Miniaturansicht angehängter Grafiken
temp_124.gif  
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat