Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 08:07

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Was ist hinter einem Quad?
BeitragVerfasst: Do Aug 04, 2005 00:50 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
Hi,

man sieht es in diversen Spielen, unter anderem auch in Doom 3: Glas bricht die Umgebung dahinter. Hab' mich schon oft gewundert, wie die das, was hintendran ist, auf die Glasfläche bekommen. Ich hab' schon ein paar mal im Forum gelesen, dass man zuerst was in eine Textur rendern muss und die dann einfach im Shader verzerren soll. Das mit dem Verzerren hab' ich mittlerweile hinbekommen, aber das mit dem in Textur rendern ist mir immer noch ein Rätsel. Ich kann ja nicht einfach die Kamera so positionieren, dass man genau das sieht, was auf dem Quad wäre, dann einen Screenshot machen und als Textur speichern und einfach draufbappen; das würde nur funktionieren, wenn die Fläche immer direkt zum Betrachter zeigt, was aber bei einer Glasscheibe in einem Shooter kaum zutreffen würde. Lars hat einmal erwähnt, dass man im Shader keine Transparenz erreichen kann, und dass die einzige Alternative der eben beschriebene Weg wäre. Habe auch sein Engine-Video gesehen, was mich sehr beeindruckt hat, da waren ja auch Brechungen im Wasser vorhanden. Könnte mir vielleicht irgendjemand, der das schonmal gemacht hat, erklären, wie er das geschafft hat?

Mfg, Gran

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 04, 2005 08:25 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
Du musst PBuffer nutzen (einfach mal die Suchfunktion nutzen, da gibt's massig Infos zu). Mit denen kannst du dann einen 2.Rendervorgang einbauen, bei dem Anstatt auf den Bildschirm in eine Textur gerendert wird. Dieser kann dann eine andere Kameraposition, andere Faces, andere Texturen ... haben.
mfG
Tomok

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 04, 2005 10:46 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
Man braucht das ganze nicht ein zweites Mal zu rendern, sondern man kann einfach die Szene nach dem Rendern in eine Texture kopieren und dann erst die transparenten Objekte wie Glass, Dampf usw.. mit dieser Texture rendern.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 04, 2005 11:36 
Offline
DGL Member

Registriert: Sa Mär 20, 2004 22:48
Beiträge: 104
ich hab' das jetzt so verstanden: Erst die gesamte Szene rendern, dann den Inhalt in eine Textur kopieren (die welche Maße besitzt? sowas wie 1024x768 oder doch quaratisch?). Danach soll ich dann mit dieser Texture mein Glas rendern. Wenn aber das Glas nicht zum Betrachter zeigt, und ich einfach meine Textur, die ich eben aus einem Screenshot gewonnen habe, draufkopier, dann kommt es doch da zu einer kompletten Fehldarstellung, weil das ja eine ganz andere Perspektive ist :-(

_________________
Der Bump Mapping User ist nur zu faul, selbst eine Wand mit Tesselation zu erstellen ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 04, 2005 11:42 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 16, 2003 15:20
Beiträge: 198
EDIT : sry, hab mich vertan :-([/b]

_________________
Bevor du definierst, was etwas ist, versichere dich seiner Existenz.


Zuletzt geändert von Tomok am Do Aug 04, 2005 11:51, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Aug 04, 2005 11:47 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Also wenn ich Lars richtig verstanden habe dann geht das so:

Szene ohne Transparenz Rendern
Szene als Textur speichern
Transparente Objekte mit Textur rendern, dabei die Texturkoordinaten im Shader abhängig vond er Normale und dem View-Vektor anpassen.

Der letzte schritt ist so leicht hingeschrieben. Denke aber das wird in Lars Shader gemacht. Aber dazu kann er sich ja selbst nochmal äußern... 8)

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 16 Queries | GZIP : On ]