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

Aktuelle Zeit: Fr Jul 18, 2025 12:26

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



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Blending und Lighting
BeitragVerfasst: So Jun 04, 2006 14:00 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jun 25, 2003 12:44
Beiträge: 29
Hallo,
Ich zeichne den Übergang zwischen zwei Materialien (=Textur+Detailmap), indem ich zuerst das untere Dreieck zeichne und dann das andere mit glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA) und entsprechenden Alpha-Werte drüber blende.
Beim Blending muss ja bekanntlich GL_LIGHTING ausgeschalten werden (warum eigentlich?). Das Problem ist jetzt, dass ich das überlagerte Dreieck aber auch gerne beleuchtet haben will.
Wie mach ich das?

edit: habs jetzt mit nem 3. rendering pass gelöst...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 04, 2006 23:44 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Multitexturing könnte für dich die bessere Lösung sein. Und vermutlich auch schneller ;)

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Blending und Lighting
BeitragVerfasst: Mo Jun 05, 2006 00:04 
Offline
DGL Member

Registriert: Sa Jun 03, 2006 17:21
Beiträge: 7
crt hat geschrieben:
Beim Blending muss ja bekanntlich GL_LIGHTING ausgeschalten werden (warum eigentlich?). Das Problem ist jetzt, dass ich das überlagerte Dreieck aber auch gerne beleuchtet haben will.
Wie mach ich das?
was du vermutlich meinst ist daß du den Alpha-Wert mit glColor4x setzen willst, glColor aber bei aktiviertem GL_LIGHTING wirkungslos wird (?).
Mit diesem Problem hatte ich auch zu kämpfen, die Lösung ist offenbar die Funktion glMaterial. Die ist dafür vorgesehen, bei aktivem Lighting Materialeigenschaften von Objekten (genauer gesagt deren Reaktion auf Beleuchtung) festzulegen. Einen mit z.B.
Code:
  1. glColor4f(1.0, 1.0, 1.0, 0.75);

vergleichbaren Effekt kannst du durch
Code:
  1. var mat_diffuse : array[1..4] of GLfloat;
  2.  
  3. mat_diffuse[4] := 0.75; // alpha-value
  4. glMaterial4f(GL_DIFFUSE, mat_diffuse);

erreichen (für die Richtigkeit der Syntax kann ich nicht garantieren, hab das bislang nur in C/C++ gemacht :wink: ). Du legst damit fest, wie die RGBA-Anteile von diffusem Licht reflektiert werden.

Edit: BTW würde mich mal deine Lösung mit dem 3. Renderpass (wieso eigentlich 3.? Hattest du vorher schon 2?) interessieren, könntest du die mal posten?


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