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

Aktuelle Zeit: Fr Jul 18, 2025 04:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Glühen
BeitragVerfasst: Mo Okt 25, 2010 16:28 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Moin,

ich möchte jetzt die lampen als solche auch sichtbar machen. Quasi ist die Glühbirne nur eine farbige scheibe. Ich möchte allerdings das diese auch so wirkt wie eine lichtquelle. Dennoch wollte ich nicht das ganze in ein FBO packen, da mir da ja noch die Tiefeninfos für meine Szene fehlen und ich diese nochmal rendern müsste.. Gibts nicht irgendeine andere möglichkeit eine Art Glüheffekt hinzubekommen? Also ich hab da keine Textur drauf.. nur eine Farbige Scheibe..


Mfg,
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Glühen
BeitragVerfasst: Mo Okt 25, 2010 17:05 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
http://http.developer.nvidia.com/GPUGems/gpugems_ch21.htmlWeiß nicht, ob du das vielleicht schon kennst, scheint aber ne recht einfache möglichkeit zu sein. Wobei... Selber ausprobiert hab ichs nicht, und irgendwie musst du das Zeug natürlich auch da in ne Textur kriegen.

Mal abgesehen davon... Soweit ich weiß kannst du an ein FBO grundsätzlich schon nen Tiefenpuffer dranhängen.

Ähm... Fallt mir gerade noch was ein. Wenn du ne Textur hast, auf der einfach ne glühende Glühbirne drauf ist, und die zeichnest (Billboard), dann sollte das auch schon halbwegs nach was aussehen. Abhängig davon, wie die Lampen aussehen natürlich. Wenn da Kanten entstehen... nicht gut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Glühen
BeitragVerfasst: Mo Okt 25, 2010 17:26 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Die Methode aus GPUGems nutze ich glaub ich auch in UltimateConquest. Hab den GPUGems-Artikel nicht gelesen, aber Figure 21-3 sieht ziemlich nach dem aus was ich auch mache. Einfach in einem FBO sämtliche glühenden Objekte rendern und alles andere schwarz. Dies dann einmal in X-Richtung bluren und einmal in Y-Richtung bluren, z.B. mit dem Blur-Shader aus der Shadersammlung. Das resultierende Bild wird dann einfach auf die normal gerenderte Szene aufaddiert.

Zitat:
Soweit ich weiß kannst du an ein FBO grundsätzlich schon nen Tiefenpuffer dranhängen.

Das ist ja das schöne an einem FBO. Du kannst einen Tiefenbuffer haben, musst aber nicht :)

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Glühen
BeitragVerfasst: Mo Okt 25, 2010 17:29 
Offline
DGL Member

Registriert: Di Okt 13, 2009 17:25
Beiträge: 365
Programmiersprache: C++
In vielen (älteren) Spielen wird an der Position der Lichtquelle (sofern diese sichtbar ist) einfach ein Quad mit der Farbe der Lichtquelle gerendert, so dass der Alphakanal in der Mitte am höchsten ist und nach außen abnimmt. Dabei wird additives Blending aktiviert und der Z-Buffer ignoriert (also als letztes zeichnen). In GTA San Andreas z.B. hat man wenn ich mich nicht irre alle Laternen und Ampeln mit sowas ausgestattet. 8)


Zuletzt geändert von mrtrain am Mi Aug 31, 2011 21:04, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Glühen
BeitragVerfasst: Di Okt 26, 2010 10:41 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
habs jetzt doch mit dem Blurshader hinbekommen. Habe aber keiner weitere FBO gebraucht. Ich habe einfach in eine 2. Textur gerendert ( glDrawBuffer(GL_COLOR_ATTACHMENT1_EXT);) und nur den Farbpuffer gelöscht.. Jetzt passts.

Mercie


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Glühen
BeitragVerfasst: Mi Okt 27, 2010 17:31 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
hat jemand eine Exeltabelle um die Constanten für einen größeren Radius auszurechnen?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Glühen
BeitragVerfasst: Mi Okt 27, 2010 20:05 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Öhm, die Formel steht im Wiki. Falls dir die schreibweise der Funktion "exp" nicht geläufig ist, das ist einfach die Konstante e hoch das was da in Klammern steht. Dabei ist e die eulersche Zahl, also 2,718281828459...
=> Das Programm hat man doch in 5 Minuten geschrieben.

_________________
Yeah! :mrgreen:


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 4 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.012s | 14 Queries | GZIP : On ]