Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 13.03.2004, 12:53 Titel: D3D: Billboards umsetzen |
|
|
Hi!
Zuersteinmal: Ich weis nich genau ob der Begriff "Billboard" für das steht was ich umsetzen will, nämlich ein Rechteckiges Polygon mit einer Textur, einer Position im 3D Raum, und welches immer direkt auf die Kamera zeigt.
Meine Frage: Wie richte ich (mathematisch gesehen) das Polygon in richtung Kamera aus, wenn ich deren Position und Blickrichtung kenne?
THX |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 13.03.2004, 13:06 Titel: |
|
|
Der begriff stimmt AFAIK
Ich glaube da musst du einfach nur die selben Rotationsparameter wie bei der Kamera verwenden.
Also beides immer im gleichen Winkel drehen. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
xardias JLI Master
Alter: 38 Anmeldedatum: 28.12.2003 Beiträge: 804 Wohnort: Palo Alto, CA Medaillen: Keine
|
Verfasst am: 13.03.2004, 13:30 Titel: |
|
|
Ich weiß nicht, ob es das in DirectX gibt, aber afaik macht man das indem man die Bitmap "blitt" funktion von DirectX benutzt. (ich weiß dass das kein blitten ist). Dann wird das Polygon automatisch auf die Kamera ausgerichtet.
Oder such mal nach billboards auf gamedev.net
ich meine da gab es einen artikel (verlinkt auf gamasutra) |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 13.03.2004, 13:35 Titel: |
|
|
Dann müsstest du aber für jedes Frame die Billboardobjekte je nach Entfernung von der Kamera sortieren, damit entfernte Objekte nicht über die näheren geblittet werden. Außerdem müsstest du wahrscheinlich noch von Hand die Koordinaten auf dem Bildschirm und die vergrößerung/verkleinerung (wegen der Entfernung) berechnen _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 13.03.2004, 14:22 Titel: |
|
|
Ich bin mir nicht vollkommen sicher, aber sowit ich mich erinnere gibt es bei DX dafür sogenannte Pointsprites! |
|
Nach oben |
|
|
VerruecktesHuhn Super JLI'ler
Anmeldedatum: 30.07.2002 Beiträge: 492 Wohnort: Stuttgart Medaillen: Keine
|
Verfasst am: 20.03.2004, 20:32 Titel: |
|
|
Oh, da haben ja welche geantwortet und ich hab keine mail bekommen? Naja, egal: Vielen Danke für die vielen Antworten!
@Miracle Boy:
Ich werd mir das mit den Pointsprites mal näher angucken. Es gibt auf jeden Fall die ID3DXSprite (oder so ähnlich) klasse, mit der man texturen anzeigen kann wie früher in ddraw surfaces. Aber das ist ja nicht das was ich will. Aber nach den Pointsprites guck ich nochmal.
Danke! |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
Verfasst am: 21.03.2004, 10:34 Titel: |
|
|
Ich habe sowas schon mal gemacht:
Pointsprites funktionieren so, dass sie zwar immer zur Kamera zeigen, aber immer gleich groß angezeigt werden, egal wie weit sie entfernt sind.
Wenn du aber willst, dass die Sprites, die weiter entfernt sind, perspektivisch kleiner werden, musst du Billboarding verwenden.
Das funktioniert eigentlich ganz einfach, indem du die Rotationsmatrix der Kamera auch auf diese Sprites anwendest. Dadurch werden sie so gedreht, dass sie immer zur Kamera zeigen. |
|
Nach oben |
|
|
Sören JLI Master Trainee
Anmeldedatum: 26.07.2002 Beiträge: 647 Wohnort: Bonn Medaillen: Keine
|
Verfasst am: 21.03.2004, 13:31 Titel: |
|
|
=]Mid[=]Night[= hat Folgendes geschrieben: |
Pointsprites funktionieren so, dass sie zwar immer zur Kamera zeigen, aber immer gleich groß angezeigt werden, egal wie weit sie entfernt sind. |
So? Ich meine Pointsprites werden für Effekte usw. benutzt(also für Partikel).
Wenn es tatsächlich so wäre, dann würde eine Explosion ziemlich merkwürdig aussehen, wenn sie 2km von der Kamera entfernt ist und die Partikel in Originalgröße gezeichnet werden. Was du meinst lässt sicher aber auch bewerkstelligen, je nachdem welche Parameter man den Methoden übergibt(in der DX Doku gibt es einen sehr schönen artikel unter 'point sprites' in der karteikarte index!). |
|
Nach oben |
|
|
=]Mid[=]Night[= Super JLI'ler
Anmeldedatum: 20.11.2002 Beiträge: 380 Wohnort: Aachen Medaillen: Keine
|
|
Nach oben |
|
|
|