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

Aktuelle Zeit: So Jul 13, 2025 20:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Additives Blending mit Faktor
BeitragVerfasst: So Jan 02, 2011 21:39 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Hallöchen,

ich bastel noch an den Feinheiten meiner Lichter.. Mir gehts gerade um den Light-Beam (Lichtstrahl). Optisch kann ich diese nicht alle additiv blenden, denn z.B. nach 5 Kegeln ists irgendwann weiss.. und so ist es in der natur nicht.. Also um das ein wenig natürlicher zu gestalten bräucht ich eine blendfunc mit Faktor wie z.b. 1+1 = 1.4 oder so.. Sodass an den Stellen wo die Kegel sich treffen nicht komplett Addiert wird..

Wie könnt ich das realisieren? (Die Kegel werden separat auf schwarzem Hintergrund gerendert..).

Grüße und Frohes neues Jahr!
Thomas


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: So Jan 02, 2011 22:03 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Ähm, wieso machst du den Kegel nicht einfach Grau statt weiß? Wenn der Kegel die Farbe 0.7 hat bekommst du 0.7+0.7 = 1.4 ;) Aber alles größer 1 ist natürlich immer noch weiß....

Du kannst auch bei glBlendFunc statt GL_ONE einfach GL_CONSTANT_COLOR benutzen. Dann hast du deinen Faktor. Wird über glBlendColor gesetzt.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: So Jan 02, 2011 22:44 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Wie wärs mit glBlendFunc(GL_SRC_ALPHA, GL_ONE) und einem entsprechenden Alpha-Wert?

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: Mo Jan 03, 2011 21:07 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
nun ich nutze Alpha schon um den Lichtstrahl am Ende auszufaden.. habs noch net über den Shader hinbekommen zu definieren wie weit ein Fragment von der Lichtquelle weg ist...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: Mo Jan 03, 2011 22:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Nutz dafür doch z.B. Texturkoordinaten. Mache ich bei meinen Shadern auch so, wenn ich Werte brauche, die anders nicht zu bekommen sind. Du könntest die Distanz z.B. als S-Koordinate übergeben und im Shader mit nutzen.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: Mo Jan 03, 2011 22:33 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
habs noch net über den Shader hinbekommen zu definieren wie weit ein Fragment von der Lichtquelle weg ist...

Du kannst im Vertexshader die 3D-Position des Vertex in Weltkoordinaten ausrechnen. Diese gibst du als varying and den Fragmentshader weiter => 3D-Position im Fragmentshader.
Nun gibst du dem Fragmentshader noch die 3D-Position des Lichtes, ebenfalls in Weltkoordinaten, und kannst die Distanz berechnen.

Andere einfachere Möglichkeit: Es geht um den Lichtkegel, richtig? Angenommen das Mesh siehst so das aus die Lichtquelle die Vertex-Koordinaten (0,0,0) hat....dann kannst du die Distanz noch einfacher berechnen...

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: Di Jan 04, 2011 00:11 
Offline
DGL Member

Registriert: Do Apr 22, 2010 17:17
Beiträge: 543
Zitat:
Andere einfachere Möglichkeit: Es geht um den Lichtkegel, richtig? Angenommen das Mesh siehst so das aus die Lichtquelle die Vertex-Koordinaten (0,0,0) hat....dann kannst du die Distanz noch einfacher berechnen...


genau so siehts aus.. wie gehts denn einfacher?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Additives Blending mit Faktor
BeitragVerfasst: Di Jan 04, 2011 00:15 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Zitat:
genau so siehts aus.. wie gehts denn einfacher?

Distanz zwischen (0,0,0) und Vertex? Also letztlich nur length(vertex), oder vertex.z....je nach dem wie du bei dir die "Distanz" definierst. Jedenfalls ist diese Methode "einfacher", weil du dir das fummeln mit den Matrizen sparen kannst...

_________________
Yeah! :mrgreen:


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:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 16 Queries | GZIP : On ]