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

Aktuelle Zeit: Mi Jul 09, 2025 08:10

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: farbe ausblenden
BeitragVerfasst: Fr Feb 06, 2004 09:11 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jun 20, 2003 13:59
Beiträge: 134
Hallo Leute,

nur eine kleine frage.

wie kann ich eine bestimmte farbe aus einer textur ausblenden?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Feb 06, 2004 10:06 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Hä? Du meinst bestimmt, dass eine bestimmte Farbe einer Textur durchsichtig ist! Dafür gibt es das sogenannte AlphaMasking. Dafür musst du allerdings einen Alphakanal für die Textur erstellen. Das ist neben Rot, Grün und Blau die 4te Komponente einer Textur.

Für den Alphakanal hast du 2 Möglichkeiten. Entweder du erstellst ihn mittels eines Grafikprogramm (z.B: Photoshop) und speicherst es im TGA Format (das unterstützt den Alphakanal) ab. Oder du benutzt einen (klassenbasierten) Loader und erstellst anhand einer Farbe diesen Kanal.

Das AlphaMasking würdest du im Quellcode dann folgender maßen aktivieren.
Code:
  1. glAlphaFunc(GL_GREATER, 0.1);
  2. glEnable(GL_ALPHA_TEST);
  3.  
  4. // Objekte zeichnen
  5. // Die Textur muss beim Zeichnen gebunden sein. Wann dies tust ist allerdings egal.
  6.  
  7. glDisable(GL_ALPHA_TEST);
  8.  

Damit werden alle Pixel gezeichnet die einen Alphawert größer als 0.1 haben. 0.1 entspricht als Farbwert ca. 26.

Aber das Herzstück ist der Alphakanal. Ohne den Läuft gar nix. Im aktuellen DGL-SDK befinden sich 2 Loader die das können. Einmal die glBitmap und die glBMP.

PS: Für den Fall, dass du gewisse Teile einer Textur nur leicht Transparent machen möchtest oder es am Rand hin weich ausblenden. Dann müsstest du das Blending verwenden. Allerdings kommst du dann nicht umher deinen Alphakanal mittels Grafikprogramm zu erstellen. Da dieser ja weiche Übergänge haben muss.


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 9 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.006s | 14 Queries | GZIP : On ]