JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=8b6dd10405ac4d71257b394254a78b49Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

D3D: Billboards umsetzen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 13.03.2004, 12:53    Titel: D3D: Billboards umsetzen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 13.03.2004, 13:06    Titel: Antworten mit Zitat

Der begriff stimmt AFAIK Wink
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
xardias
JLI Master


Alter: 38
Anmeldedatum: 28.12.2003
Beiträge: 804
Wohnort: Palo Alto, CA
Medaillen: Keine

BeitragVerfasst am: 13.03.2004, 13:30    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 13.03.2004, 13:35    Titel: Antworten mit Zitat

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 Wink
_________________
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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 13.03.2004, 14:22    Titel: Antworten mit Zitat

Ich bin mir nicht vollkommen sicher, aber sowit ich mich erinnere gibt es bei DX dafür sogenannte Pointsprites!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
VerruecktesHuhn
Super JLI'ler



Anmeldedatum: 30.07.2002
Beiträge: 492
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 20.03.2004, 20:32    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 21.03.2004, 10:34    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Sören
JLI Master Trainee



Anmeldedatum: 26.07.2002
Beiträge: 647
Wohnort: Bonn
Medaillen: Keine

BeitragVerfasst am: 21.03.2004, 13:31    Titel: Antworten mit Zitat

=]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
Benutzer-Profile anzeigen Private Nachricht senden
=]Mid[=]Night[=
Super JLI'ler



Anmeldedatum: 20.11.2002
Beiträge: 380
Wohnort: Aachen
Medaillen: Keine

BeitragVerfasst am: 21.03.2004, 16:21    Titel: Antworten mit Zitat

http://www.thehavok.co.uk/scene/32bits/tutorials/directx/techniques/tut3particlesdx9.php
Ihr könnts euch ja mal durchlesen, vor allem Fig. 3.5, da stehts nochmal erklärt:
Pointsprites: alle Sprites gleich groß, egal welche Entfernung
Billboarding: die Sprites werden mit größerer Entfernung kleiner
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum