Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

der_Geist

Frischling

  • »der_Geist« ist der Autor dieses Themas

Beiträge: 8

Wohnort: Österreich

Beruf: Schüler

  • Private Nachricht senden

1

21.03.2008, 18:49

Spiegelungen auf ebenen flächen

Könnte man nicht zB. in einem Spiel einen ebenen Spiegel so realisieren, dass man einmal die Szene aus der Sicht des Spiegels in eine Textur zeichnet und dies dann über die spiegelnde Fläche legen.
Die Kamera müsste natürlich in Richtung des Ausfallwinkels gerichtet sein und iregendwie müsste man es noch zusammenbringen dass nur ein gewisser bereich gezeichnet wird, der dann die größe der spiegelenden Oberfläche hat.

Ich könnte mir aber vorstellen, dass das zu langsam für ein Spiel ist.

PS:War nur als anregung gedacht
Ferien 4 ever

2

21.03.2008, 19:01

Hallo erstmal du Geist! :)
Glaube, du meinst dynamisches Environment Mapping. Zusätzlich kann man z.B. mit dem Stencil-Buffer Bereiche verdecken/abschneiden.
Beides gibts schon länger und kostet weder groß Ressourcen noch Performance.

EDIT
Siehe auch Stichwort Stencil Mirror

der_Geist

Frischling

  • »der_Geist« ist der Autor dieses Themas

Beiträge: 8

Wohnort: Österreich

Beruf: Schüler

  • Private Nachricht senden

3

21.03.2008, 19:32

Ich meine nicht spiegelungen auf Objekte die auf die Umgebungstexturen (Cubic Environment Maps) zurückgreifen sondern solche Spiegelungen die auch 3D-Modelle abbilden können. Das Andere System mit DirectX9 ist mir eh bekannt.

Ich wollte auch nicht vorschlagen, dass man die Objekte auf die ganze Umgebungstextur zeichnet sondern dynamisch einmal pro Bild eine Textur erstellt und diese auf die ebene spiegelnde Oberfläche legt(bei gekrümmten müsste man das vermutlich anders machen). So könnte man in einem Spiegel in einem FPS sehen wenn sich der Gegner von hinten anschleicht.

@Ressourcen & Performance:
Ich denke nur wenn man das jedes Bild mach und noch recht oft oder in hoher Qualität könnte es ein wenig langsam sein.
Ferien 4 ever

BlackSnake

Community-Fossil

Beiträge: 1 549

Beruf: Student

  • Private Nachricht senden

4

21.03.2008, 19:39

wenn du alles spiegeln willst, musste in eine texture rendern.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

22.03.2008, 02:00

Zitat von »"BlackSnake"«

wenn du alles spiegeln willst, musste in eine texture rendern.

Falsch. Es reicht ein einfacher Stencil-Buffer. Damit maskiert man die spiegelnde Fläche im Bild und rendert dann genau auf diese Pixel die an der Ebene gespiegelte Szene.
Da das ein sehr alter und gut bekannter Trick ist, findet man auch massenhaft Infos dazu: http://www.google.de/search?hl=de&q=stencil+buffer+reflection

Zitat von »"der_Geist"«

(bei gekrümmten müsste man das vermutlich anders machen).

Bei gekrümmten Oberflächen ist das schlicht unmöglich, jedenfalls wenn es korrekt sein soll. Dazu braucht man Raytracing.

der_Geist

Frischling

  • »der_Geist« ist der Autor dieses Themas

Beiträge: 8

Wohnort: Österreich

Beruf: Schüler

  • Private Nachricht senden

6

22.03.2008, 13:17

@David Scherfgen
Danke für die Antwort und für den Link

@BlackSnake
Hab oben eh geschrieben, dass man in eine Textur rendern(zeichnen) muss
Ferien 4 ever

7

22.03.2008, 16:58

Folgendes:
Eine Matrix erstellen, die die Geometrie an einer Ebene spiegelt, und diese dann mit den anderen Matrizen dazu verwenden, die Szene zu rendern.
Evtl. für die Grenzen des Spiegels angepasste Viewports verwenden.

Das sollte ziemlich einfach sein, und man benötigt nichtmal Stencilbuffer oder RenderToTexture.
Lieber dumm fragen, als dumm bleiben!

der_Geist

Frischling

  • »der_Geist« ist der Autor dieses Themas

Beiträge: 8

Wohnort: Österreich

Beruf: Schüler

  • Private Nachricht senden

8

23.03.2008, 00:43

Ich versteh nicht ganz wie du das mit der Matrix meinst?

Müsste man bei deinem Vorschlag für jedes objekt so ne Matrix erstellen?
Ferien 4 ever

9

26.03.2008, 11:30

Jonathan erläutert glaub ich das Vorgehen, um die oben erwähnte Spiegel-Textur zu erhalten...

10

26.03.2008, 14:40

Bloß das man nix in eine Textur zeichnet sondern alles direkt zeichnet, was ein Tick einfacher und auch ein Tick schneller sein sollte.
Lieber dumm fragen, als dumm bleiben!

Werbeanzeige