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

Aktuelle Zeit: Fr Jul 18, 2025 15:55

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



Ein neues Thema erstellen Auf das Thema antworten  [ 7 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: TGAs = 7bit/pixel verschwendung??
BeitragVerfasst: Sa Jun 10, 2006 22:36 
Offline
DGL Member

Registriert: Fr Nov 18, 2005 00:44
Beiträge: 57
also wenn ich das richtig verstanden habe, ist im TGA format der alphachannel mit eingebaut -> RGBA
jeder dieser chanels braucht ja nun 8bit/pixel, also insgesamt 32bit/pixel.
für RGB klingt das logisch, da diese mit 8bit an ihre größe von 256 abstufungen gelangen
der Alpha bekommt allerdings auch diese größe von 256, obwohl die alphafunc nur eine ja/nein frage macht (pixel zeichnen oder nicht)
Dafür würde doch 1bit völlig reichen, wozu sind dann die anderen 7bit da?
in photoshop habe ich gesehen, dass man diese 256 werte prima im alpha chanel verwenden kann für halbtransparenzen etc. , aber ich kann die in ogl ja nicht benutzen (oder doch?) , demnach verschwende ich ja speicher beim laden der textur und das sind immerhin 22%, die da zuviel mit gehen.

gibt es eine Möglichkeit die Alphamaske exakt zu nutzen, damit der speicher nicht "verschwendet" wird, oder muss ich tatsächlich bei der ja/nein alphafunc bleiben und damit leben, dass diese 7bit schrott mitgeliefert werden.

Eine halbtransparenz wäre natürlich cooler, damit ich mir das blenden sparen kann... zumindest an den meisten stellen. (granatexplosionen schocken einfach mehr, wenn sie mit dem Bild "verschmelzen")

mit freundlichen grüßen und hoffnung auf viel gute Antwort
Der Zerhackte

_________________
ist Ihnen schon mal aufgefallen, dass wenn Sie beim Wort Schlagersängerinnen die ersten 6 Buchstaben streichen, das 'e' durch ein 'f' ersetzen, die nächsten 7 Buchstaben rückwärts lesen und dann ebenfalls elemenieren und zusätzlich die beiden nebeneinanderstehenden n's durch ck ersetzen, das Wort 'ficken' ergibt?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Jun 10, 2006 23:17 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
Nein, es spricht überhaupt nichts dagegen, teiltransparenzen einzusetzen oder die abstufungen z.B. in shadern sonstwie zu verbraten. Benutzte man für die Kanäle unterschiedlich viele Bits, würde das die Speicher-Adressierung der Textur auch sehr kompliziert machen: in GPU Hardware nur sehr schlecht umsetzbar, so daß man ganz massiv Geschwindigkeit verlieren würde. Ich denke du hast da einfach was missverstanden. Schau dir mal die entsprechenden Befehle im Wiki noch einmal genauer an und stelle deine Frage evtl. hier nocheinam genauer.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 11, 2006 00:06 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Nov 13, 2004 11:00
Beiträge: 229
Wohnort: Steinhude
Neben Alphatest kann der Alphachannel auch beim blending, textur-Kombinierung und in Shadern verwendet werden, insofernsind die Abstufungen durchaus zu gebrauchen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 11, 2006 10:13 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ganz genau. Schau dir mal Blending im Wiki an. Das ist eigentlich das Haupteinsatzgebiet des Alphakanals. Wobei der Alphatest den Vorteil einer gewissen Performancesteigerung mit sich bringt, und deshalb mit Blending kombiniert werden sollte.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 11, 2006 12:34 
Offline
DGL Member

Registriert: Fr Nov 18, 2005 00:44
Beiträge: 57
ich hatte mir schon gedacht, dass es zu schwierig werden würde, die 7bit nicht mit zu liefern und das blending tutorial hab ich mir auch schon durchgelesen...
allerdings werden dort halbtransparenzen mit extra masken gelöst, sprich 1 Bild für RGB und 1 Bild für A, aber wie verwende ich den alphachanel der datei, so dass ich mir die zweite datei sparen kann?

aufgefallen ist mir folgendes:

Code:
  1.  
  2. backGround.alpha:= 0;
  3. setBackground(backGround);
  4.  


was wird mit diesem aufruf erreicht??
muss ich überhaupt beim blending den alphachanel irgendwie mit einarbeiten oder wird er automatisch mit verwendet, wenn ich blende?

ich habe natürlich schon mit blendings gearbeitet und hübsche effekte erreicht, also ganz doof bin ich da nicht ^^
(nebenbei hat masking bei mir nie geklappt nach dem ogl-tutorial "verblendet")[/pascal]

_________________
ist Ihnen schon mal aufgefallen, dass wenn Sie beim Wort Schlagersängerinnen die ersten 6 Buchstaben streichen, das 'e' durch ein 'f' ersetzen, die nächsten 7 Buchstaben rückwärts lesen und dann ebenfalls elemenieren und zusätzlich die beiden nebeneinanderstehenden n's durch ck ersetzen, das Wort 'ficken' ergibt?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jun 11, 2006 16:19 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 01, 2003 16:55
Beiträge: 5
Wohnort: HH
Der Zerhackte hat geschrieben:
aber wie verwende ich den alphachanel der datei, so dass ich mir die zweite datei sparen kann?


Wenn ich mich nicht irre, wird der alphachanel der datei beim blending automatisch benutzt.
Versuch es mal so
Code:
  1.  
  2. glEnable(GL_BLEND);
  3. glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  4.  

Du musst dabei aber darauf achten, die polygone von hinten nach vorne zu rendern, sonst gibt es undurchsichtige stellen.


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

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Wenn du die glBitmap nutzt, dann sollte tatsächlich der Alphakanal bei z.B. TGAs automatisch mitgeladen werden. Ansonsten, wenn du Texturen selber lädst musst du bei glTexImage2D GL_RGBA und 4 als anzahl der Bytes verwenden.

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


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


Wer ist online?

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