Umkehrung von CAMERAPROJECT

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Trabukh

Betreff: Umkehrung von CAMERAPROJECT

BeitragSo, März 12, 2006 19:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen!

Vllt kennen einige von euch die Funktion CAMERAPROJECT. Sie "errechnet aus den absoluten 3D-Raumkoordinaten die 2D-Bildschirmkoordinaten."
(http://www.blitzbase.de/befehl...roject.htm)

So, für meinen Fall benötige ich allerdings eine Funktion, die mir aus 2D-Bildschirmkoordinaten die entsprechenden 3D-Raumkoordinaten berechnet oder zumindest die Entfernung von der Kamera zum Objekt.
Gibt es eine solche Funktion bzw. ist es machbar, soetwas zu bewerkstelligen?

Gruß,
Trabukh

Fuchsi

BeitragSo, März 12, 2006 19:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Entfernung von Kamera zum Objekt:
Code: [AUSKLAPPEN]

Entfernung=Entitydistance(Kamera,Entity)


Falls es das ist, was du meinst.
 

Trabukh

BeitragSo, März 12, 2006 20:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, geht schon so in die Richtung. Allerdings bekomme ich damit nur die Entfernung von einem gegebenen Objekt als ganzes... Ich versuch's nochmal etwas verständlicher zu erklären:

Mein Bildschirm hat - sagen wir mal - 800x600 Pixel. Nun will ich jeden dieser Pixel durchprüfen. Wird an einem dieser Pixel irgendein Teil eines Objektes, Terrains etc. angezeigt, will ich die Entfernung von der Kamera bis zu genau dem an der entsprechenden Stelle (X- bzw. Y-Pixel) angezeigten Punkt auf dem Objekt haben.

Hoffe, das ist etwas verständlicher... Wink

Gruß,
Trabukh

skey-z

BeitragSo, März 12, 2006 20:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Camerapick

aber so wie du es machen willst, wäre es wahrscheinlich deutlich zu langsam, weil 800x600 = 480000 durchläufe das wären bei 0.1ms Bearbeitungszeit 48 sekunden, also für echtzeiteffekte nicht geeignet
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

Trabukh

BeitragSo, März 12, 2006 20:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Hmm, vielen Dank!

Glücklicherweise ist Echtzeit nicht so schrecklich wichtig. Es geht mir nämlich um ein Programm, das Stereogramme erstellt. Dazu brauche ich die "Tiefeninformationen" eines 2D-Bildes.

Weitergedacht wäre Echzeit natürlich äußert interessant, wobei mir vorhin noch eine zweite Möglichkeit eingefallen ist: Man könnte einen Grenzwert setzen für die Tiefe und nach diesem Wert CameraFogRange einstellen, Farbe Schwarz. Dann auf keines der Ojekte eine Textur legen und auch keine Lichtquellen erstellen. Je dunkler das einzelne Pixel ist, desto weiter hinten. Ist das eventuell praxistauglicher?


Gruß

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group