AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Position eines 3D Objektes bestimmen und auslesen
Thema durchsuchen
Ansicht
Themen-Optionen

Position eines 3D Objektes bestimmen und auslesen

Ein Thema von Nachtreiter · begonnen am 8. Mär 2006 · letzter Beitrag vom 17. Mär 2006
Antwort Antwort
Nachtreiter
(Gast)

n/a Beiträge
 
#1

Position eines 3D Objektes bestimmen und auslesen

  Alt 8. Mär 2006, 20:17
Hallo,

ich möchte in einer 3D Landschaft mit der Maus einen großen Stein umsetzen und die neue Position auf HD speichern.
Programmieren will ich es mit DirectX 9.
Die Literatur, die ich gefunden habe, scheint eine gleiche Quellen zu haben.

Wie muß ich da vorgehen? Kann man den Grafikkartenspeicher einfach auslesen?

Jürgen
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#2

Re: Position eines 3D Objektes bestimmen und auslesen

  Alt 8. Mär 2006, 20:24
Weißt du wie DirectX funktioniert? Offenbar nicht.

Informier dich zuerst wie du das Ganze angehst. Dann schreib eine Landschaft mit einem Stein darin.
Dann implementier eine Funktion mit der man den Stein verschieben kann.
Anschließend wirst du wissen, dass man beim Verschieben eines Objekts nicht den Grafikkartenspeicher verändert, sondern eine bestimmte Einstellung (die Transformationsmatrix) setzt, sodass der Stein an einer anderen Stelle erscheint.
Diese Transformationsmatrix ist im System-Speicher und kann wie jede andere Variable ausgelesen werden.
Lukas
  Mit Zitat antworten Zitat
Nachtreiter
(Gast)

n/a Beiträge
 
#3

Re: Position eines 3D Objektes bestimmen und auslesen

  Alt 16. Mär 2006, 22:30
Zitat:
Dann implementier eine Funktion mit der man den Stein verschieben kann.
Ja da ist das Problem, die Maus liefert die Position mit x und y Koordinaten und meine Objekte haben die Koordinaten x,y und z.
  Mit Zitat antworten Zitat
Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Position eines 3D Objektes bestimmen und auslesen

  Alt 16. Mär 2006, 22:39
Falls du mit der Maus (also 2d) eine Position auf einem 3d Objekt (hier deine Landschaft) wie z.B in einem Strategie Spiel wählen willst, solltest du dich mal über Octrees und Gizmos informieren...
Philippe Wechsler
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#5

Re: Position eines 3D Objektes bestimmen und auslesen

  Alt 17. Mär 2006, 00:51
Zitat von Nachtreiter:
Ja da ist das Problem, die Maus liefert die Position mit x und y Koordinaten und meine Objekte haben die Koordinaten x,y und z.
Davon stand nichts in deinem Anfangpost, aber jetzt ergibt dieser Thread langsam einen Sinn.

Mit anderen Worten, du hast die Mauskoordinaten im Bildschirmraum und willst ausrechnen, welche Entsprechung sie im 3D-Raum auf der Oberfläche der Landschaft haben. Da gibt es mehr oder weniger zwei Möglichkeiten. Einmal stellst du dir vor, dein Mauszeiger sei der Startpunkt einer Geraden, die geradeaus nach hinten in den Bildschirm rein geht. Diese Gerade schneidet dann wohl irgendwann deine Landschaft, und den Schnittpunkt rechnest du aus. Die andere Möglichkeit ist es, mit den Bildschirmkoordinaten der Maus die Tiefe aus dem Tiefenpuffer auszulesen, und eine inverse Transformation durchzuführen.
  Mit Zitat antworten Zitat
Antwort Antwort


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