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

Aktuelle Zeit: Fr Jul 18, 2025 05:15

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



Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 25, 2003 21:20 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Nein, nicht zwei Texturen auf das Quad. Ich habe das damals in dem Tut so gemacht, das ich RGB aus der ersten Textur lade und dem GL-Texturobjekt dann einfach den Alphakanal aus der zweiten Textur hinzufüge, also quasi aus einer RGB und einer A-Textur eine RGBA-Textur bastle. Wenn du z.B. TGA nimmst und dort mit deinem Bildbearbeitungsprogramm direkt nen Alphkanal miteinbaust, dann musst du die Textur nicht erst "zusammenbauen".

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Und
BeitragVerfasst: Do Dez 25, 2003 22:27 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Peil ich net.
Was wolltest du mir vermitteln?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 25, 2003 22:32 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Ich sag nur GL-Grundlagen...eine Textur kann unter OpenGL aus vier Kanälen bestehen, nämlich RGB und Alpha. Im Alphakanal kann man Transparenzwerte speichern, die man dann z.B. beim Alphamasking nutzt um Teile der Textur durchsichtig zu machen. Man braucht dazu also nur eine Textur. In meinem Tutorial lade ich aus einer Datei die RGB-Komponenten und aus einer zweiten den Alphakanal, was du allerdings wenn du ein passendes Format nutzt, wie z.B. TGA, auch alles in eine Textur packen kannst. Dann lädst du nur diese eine Textur, aktiviertst den Alphatest, bindest diese EINE Textur auf dein Quad und renderst das Quad dann. Alle Alphawerte die dann deinem Alphatest entsprechen werden dann transparent gemacht.

Ausführlicher kann mans jetzt wirklich nicht mehr erklären, zumal die Thematik sehr grundlegend ist. Wer zumindest das Redbook durchgearbeitet hat (was Pflicht) ist, der sollte wissen das eine Textur aus RGB und A zusammengesetzt sein kann, und was A macht.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Ja...
BeitragVerfasst: Do Dez 25, 2003 22:39 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ja, von welchem Tutorial sprichst du?
Ich spreche von dem masiking, ich möchte nichts transparent machen, sondern nur bestimmte Teile zeichnen. So wie das in dem Blending Tut ist, nicht wie in dem Baum tut.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Dez 25, 2003 22:43 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Wo liegt denn der Unterschied zwischen etwas transparent machen und etwas nicht zeichnen?
Mit Blending kann man Teiltransparenz machen, mit Alphamasking nur Totaltransparenz.

Ansonsten schau doch mal in das Blendingtutorial hier auf DGL. Dort steht auch drin wie man eine besimmte Farbe einer Textur durch Blending entfernt, was aber im Endeffekt eine schlechtere Lösung als Alphamasking ist.

_________________
www.SaschaWillems.de | GitHub | Twitter | GPU Datenbanken (Vulkan, GL, GLES)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Ja
BeitragVerfasst: Do Dez 25, 2003 22:55 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Okt 27, 2003 17:46
Beiträge: 788
Ich rede doch von dem Tutorial, ich glaub ich muss das drei mal lesen.
Ist auch noch dazu kein Beispiel dabei...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Mit Blending??
BeitragVerfasst: Di Jan 20, 2004 21:22 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jan 20, 2004 20:57
Beiträge: 6
Wohnort: Hannover
Also ich kann dir sagen wie du die schwarzen rahmen in den Teturen weg ganz weg bekommst, aber nur halb tranzparent???dann musst du mit dem alpha kanal arbeiten...da bleibt dir nix anderes übrig :)

Code:
  1.  
  2.  
  3. glEnable(GL_BLEND);
  4.   glBlendFunc(GL_SRC_ALPHA, GL_ONE);
  5.  
  6.   glBegin(GL_QUADS);
  7.     glTexCoord2f(0.0f, 0.0f);
  8.     glVertex3f(Pos.X, Pos.Y, 0);
  9.     glTexCoord2f(1.0f, 0.0f);
  10.     glVertex3f(Pos.X + Pos.Width, Pos.Y, 0);
  11.     glTexCoord2f(1.0f, 1.0f);
  12.     glVertex3f(Pos.X + Pos.Width, Pos.Y + Pos.Height, 0);
  13.     glTexCoord2f(0.0f, 1.0f);
  14.     glVertex3f(Pos.X, Pos.Y + Pos.Height, 0);        
  15.   glEnd();
  16.  
  17. glDisable(GL_BLEND);
  18.  


Dadurch wird der schwarze Rahmen in der Textur nicht mehr mit angezeigt.

In dem Bild werden alle buchstaben aus einem bitmp geladen und müssten ja eigentlich schwarze rahmen haben......haben sie aber nicht ;)


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Dream it, Code it.... :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 22 Beiträge ]  Gehe zu Seite Vorherige  1, 2
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 23 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 ]