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

Aktuelle Zeit: Fr Jul 18, 2025 04:34

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Glow erzeugen
BeitragVerfasst: So Aug 14, 2005 03:28 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 03, 2002 22:12
Beiträge: 2105
Wohnort: Vancouver, Canada
Programmiersprache: C++, Python
Hi,

ich war mir nicht sicher ob das nicht eher in die Shader sparte gehört... aber ich versuch's einfach mal hier.. :)

Hat jemand ne idee, oder weiß jemand wie man Glow am geschicktesten in echtzeit hinbekommt???
Es gibt ja schon dieverse Demos etc die das wirklich beeindruckend hinbekommen... nur, wie?

Ich hab zwar so ein paar ideen, aber irgendwie scheinen die mir alle viel zu aufwendig und unpraktisch..

(z.B. Outline vom Objekt errechnen, dann diese Outline entlang der normals extrudieren und die fläche mit nem verlauf füllen etc...)

Au'revoir,
Aya~


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 14, 2005 16:05 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
spontan kann ich dir das vorschlagen: :D
render deine szene einfach erst einmal in eine kleine textur (~ 32x32), danach normal und blende zum schluss die render-textur drüber. sieht aber nur begrenzt gut aus, und wenn sich dinge in der szene bewegen glitzerts... ;)
Bild
(ich hoffe man erkennt den glow überhaupt :P)

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 14, 2005 16:09 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 19, 2004 00:27
Beiträge: 454
Wohnort: Nürnberg
ich erkenn gar nichts ^^ (lädt das Bild nicht)

EDIT:
arghh. blöde ausgelastete internetleitung


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Aug 14, 2005 20:19 
Offline
DGL Member

Registriert: Do Mai 13, 2004 16:36
Beiträge: 116
Wohnort: Deutsch-Wagram (Österreich)
Es gibt eine einfache, gut aussehende Möglichkeit (wird auch von Tron 2.0 verwendet, hab' ich aus einem NVidia-Paper). Sie funktioniert, wenn man ein bisschen herumtrickst auch ohne Shader.

1. Allgemeines:
Idealerweise haben die Objekte eine eigene Glow-Textur, oder der Alpha-Wert wird als Glow-Faktor verwendet.

2. Shader-Version:
Glow-Szene in ein Rendertarget rendern (auch die nichtglühenden Objekte rendern, aber schwarz).
Die Glow-Textur in ein 2. Rendertarget rendern (oder in das selbe, wenn man in den Backbuffer rendert und dann die Daten in die Textur kopiert) und dabei horizontal blurren (Shadereinsatz). Diese Textur über die Szene legen und dabei vertikal blurren (Shadereinsatz). An den Rändern der Textur clamp (schwarz).

3. FFP-Version:
So wie 2., aber Shadereinsatz durch mehrmaliges Rendern mit Benutzung der Texturmatrix.

Ist einfach zu implementieren und sieht gut aus :)

_________________
Diese Signatur ist defekt. Bitte wählen Sie die Numer 12846712894671893230917497617383216 (gültig ab 32.13.2671)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 15, 2005 09:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Für Shader hat Humus auf seiner Seite auch noch ne Demo. Er macht auch nichts anderes als hier bereits beschrieben außer, dass er die Textur 3 Mal Blured. Obwohl er selbst meint, dass das dritte mal normal nicht nötig ist. Aber er hatte noch ein bisschen Bandbreite übrig. ;-)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 15, 2005 12:02 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Mai 14, 2004 18:56
Beiträge: 804
Wohnort: GER/OBB/TÖL-WOR/Greiling
wie wäre es eigentlich, wenn man das model/objekt erst mal mit einer beliebigen glow-textur ein wenig vergrößert rendert, und dann das ganze in originalgröße mit der richtigen textur nochmal drüberlegt? Das sollte doch auch eine recht einfache möglichkeit sein.

_________________
Bild

"User Error. Replace User and hit Continue."


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 15, 2005 13:33 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Feb 24, 2003 18:19
Beiträge: 165
Wohnort: Cologne
was man noch zusätzlich machen könnte wäre, die Render-Textur per Multitexturing mit sich selber zu multiplizieren.. dann bekommt das ganze noch ein bisschen mehr kontrast.

luketheduke:
ausprobieren ;) wenn ich aber richtig verstanden habe was du meinst, wirds wahrscheinlich net so toll aussehen :/ denk ich mir jedenfalls..

_________________
www.omfg.biz - aktuelles projekt


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Aug 15, 2005 19:03 
Offline
Forenkatze
Benutzeravatar

Registriert: Mi Okt 22, 2003 18:30
Beiträge: 1945
Wohnort: Närnberch
Programmiersprache: Scala, Java, C*
In Tron 2.0 wird so ziemlich alles zum leuchten gebracht, was es gibt ;). IMHO werden dort auch keine Shader verwendet.

Das Entwicklungsteam von Tron 2.0 hat eng mit nVidia zusammengearbeitet, um diesen Glow hinzukriegen. Und es funktioniert auch verdammt gut und schnell. Ich nehme an, dass dort nicht in eine Textur gerendert wird, den es sind keinerlei Artefakte / Pixelbrei erkennbar. Es scheint aber auch nichts super aufwändiges zu sein, denn es läuft recht flott.

In Guild Wars wird auch fleißig geglüht. Dort wird aber AFAIK mehrmals in eine Textur gerendert und diese dann auf die Szene geblendet. Dort sieht man nämlich, wenn man sehr genau hinschaut, an den Glow-Rändern kleine Kästchen. Das fällt besonders bei dünnen und schmalen Gegenständen auf. Läuft auch recht flott.

_________________
"Für kein Tier wird so viel gearbeitet wie für die Katz'."


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 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.007s | 14 Queries | GZIP : On ]