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

Aktuelle Zeit: Fr Jul 18, 2025 11:15

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



Ein neues Thema erstellen Auf das Thema antworten  [ 16 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: Mo Mär 03, 2003 18:05 
Hi!

Wie schaff ich es, dass z.B. die schwarzen Bereiche meiner Textur transparent sind?

Zur Zeit benutze ich die Textures.pas von Jan Horn, kann also bmps, jpgs, und tgas einlesen.

Gruß, Martin.


Nach oben
  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 03, 2003 18:21 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Bestimmte Teile einer Textur kann man mittels einer Alphamaske transparent machen.
Die Alphamaske erstellt man in einem extra Maskenkanal mit einem Bildbearbeitungsprogramm wie z.B. Photoshop und speichert diese in die Bilddatei mit.Einen Alphakanal unterstützten jedoch nicht alle Bildformate.JPG kanns z.B. nicht, wohingegen TGA und PNG diese Option anbieten.
Alternativ kann man den Alphakanal auch als seperate schwarz/weiss-Textur speichern und dann später daraus laden.

Wenn du also die Textur+Alphakanal hast, dann kannst du Alphamasking unter OpenGL so aktivieren :
Code:
  1.  
  2.  
  3. glEnable(GL_ALPHA_TEST);
  4.  
  5. glAlphaFunc(GL_GREATER, 0.1);
  6.  
  7.  


Ein Tut zu diesem Thema gibts übrigens auf meiner Homepage!

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: danke
BeitragVerfasst: Mo Mär 03, 2003 18:26 
vielen dank, werd's mir zu gemüte führen. :-)


Nach oben
  
Mit Zitat antworten  
BeitragVerfasst: Di Okt 28, 2003 21:55 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Kennst du/ihr außer Photoshop noch einen anderen Texturen-Tool?
Er solte Freeware sein, und das TGA Format mit Alpha-Channel abspeichern können. Das Tool braucht auch nicht groß(umfangreich) sein, da dies unötige Download-Zeit wäre.
Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Okt 28, 2003 21:59 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
GIMP (GNU Image Manipulation Tool) ist eine gute und vor allem kostenlose Alternative zu Photoshop,die sich in Sachen Features nicht zu verstecken braucht.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 08:25 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Son of Satan hat geschrieben:
GIMP (GNU Image Manipulation Tool) ist eine gute und vor allem kostenlose Alternative zu Photoshop,die sich in Sachen Features nicht zu verstecken braucht.

Aber vom Aussehen her. ;)
Scherz bei Seite. GIMP stammt ursprünglich von Linux was auch auf das Design und die Bedienung von der Windowsversion gefallen ist. Mir persönlich gefällt es überhaupt nicht.

Aber zum Alphakanal. Die meisten Texturenloader (Meiner, glBMP) unterstützen das nachträgliche Hinzufügen eines Alphakanals, da diese auf Klassenbasis arbeiten. Wäre evtl. auch noch eine Alternative.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 14:03 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Ist nicht die 4. Farbvariable die des Alpha-Chanel?? (RGBA) Wenn dem so ist, dann kann man doch ne Function basteln welche die Pixel betrachtet und wenn ein Pixel eine bestimmte Farbe hat, dann den Alpha-Wert entsprechend setzen. Weis zwar net wirklich welchen wert A haben muss, damit er nicht gezeichnent wird (ev.0?), aber rein theoretisch ginge das.Oder?

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 14:19 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das ist sogar die Methode wie das auch gemacht wird. Du kannst den Alphakanal natürlich nicht nur dazu verwenden um gewisse Teile zu zeichnen und andere nicht. Du kannst es zum Beispiel auch so machen, dass ein bestimmter Bereich einer Textur mehr Transparenter ist als ein anderer. Was OpenGL mit dem Alphakanal macht liegt alleine in der Hand des Entwickler. Mit glBlendFunc und glAlphaFunc kannst du Steuerern und Einstellen was wann passieren soll.

PS: Wenn du spaß daran hast kannst du OpenGL auch sagen er solle alles ausblenden was den Wert 1 (im Alpha wäre das 255) hat. Wobei man keine genau abfragen machen sollte. Es empfielt sich > 0.95 zu sagen. Zwecks irgendwelchen Rechenungenauigkeiten etc.
Aber im Normalfall wird von 0 (Komplett Transparent 0 als Wert im Bild) und 1 (Komplett Sichtbar 255 als Wert im Bild) ausgegangen. Alles andere führt nur zu verwirrungen.

PPS: *werbungmach* ;) Ich habe das Spiel in meinem Texturloader ein wenig weiter getrieben und zwar kannst du dir eine Methode schreiben die als Parameter Rot, Grün, Blau und Alpha bekommt und diese Berechnung wird auf jedes Pixel angewand. ColorKey (farbwertefilter) un ein paar andere sind schon in der Klasse implementiert. Der Loader ist im DGL-SDK enthalten. Für alle Neugierigen oder Schreibfaulen. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 20:47 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Seid ihr sicher dass das legal ist?
Es gab folgenden Hinweis:
Zitat:
Because of patent issues
with the LZW compression algorithm the installer does not install the
ability to save GIF files.
(Yes, I know that the Unisys patent has expired in the US. Not so in other countries, though.)
<!-- Nor is the TIFF plug-in capable of loading
or saving LZW-compressed TIFF files. --> To be able to do this,
make sure that either you are in a country where Unisys doesn't have a
patent on the LZW algorithm, or that you have a license from
Unisys. Then download the file gimp-gif-1.2.5.zip

Und auf der Seite www.burnallgifs.org stand:
Zitat:
... LZW patents are still in force in Canada, France, Italy, Germany, the United Kingdom, and Japan.

Gibt es außer GIMP vielleicht noch einen anderen kleinen Tool welcher dass kann. Ich brauch eigentlich nur eine Tool welcher dem TGA Format einen Alpha-Channel hinzufügt.(z.B das man eine schwarz-weiße Oberfläche hat welche dann die Alpha Ebene eines passenden Bildes wird? )
Gibt es vielleicht eine einfache Möglichkeit das selber hinzukriegen?
Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 20:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Sep 23, 2002 19:27
Beiträge: 5812
Programmiersprache: C++
Illegal?Obiger Absatz bezieht sich doch nur auf das GIF-Dateiformat,für welches Compuserve bis vor kurzem noch ein Patent hielt,das aber AFAIK inzwischen auch hier abgelaufen ist.Von daher spricht doch nix gegen GIMP.

Und wenn du nur einfach ne bestimmte Farbe als Alpha setzen willst,dann nimm doch Lossys Texturenunit,die kann das doch.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 21:29 
Offline
DGL Member
Benutzeravatar

Registriert: Do Jun 19, 2003 10:44
Beiträge: 991
Wohnort: Karlsfeld (nahe München)
Hmm, hast Recht! :oops:
Scheint sich wirklich auf das Gif-Dateiformat zu beziehen.
Was ist das den eigentlich? Was wird so abgespeichert?
Texturen vielleicht?
Na, egal solage es erlaubt ist GIMP herunterzuladen und zu nutzen.
Wie ist das eigentlich dürfte ich damit erstellte oder konvertierte Texturen
kommerziel nutzen?
Mfg
IFlo

_________________
Danke an alle, die mir (und anderen) geholfen haben.
So weit... ...so gut


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 29, 2003 21:34 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Bilder im Internet. Die werden sehr oft als Gif gespeichert. Gif's sind dafür Ideal. Sie können Animationen, Transparenz und aufgrund der 8 Bit Farbtiefe (und komprimierung) sind sie gar nicht mal so groß.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2003 14:17 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Aug 20, 2003 22:26
Beiträge: 38
Wohnort: Dresden (noch)
Ich könnte mich auch irren, aber werden schwarze Stellen einer Textur bei jedem Blending nicht immer durchsichtig, einfach weil kein Farbwert zum Addieren da ist?

Bei mir geht's jedenfalls prima.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2003 15:38 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
nur wenn du in glBlendFunc die Parameter dementsprechend eingestellt hast

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Dez 30, 2003 15:56 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Das hat aber den Nachteil, dass reines Rot auch zu 2/3tel geblendet wird, da grün und blau 0 sind. Was ja eigentlich nicht immer Sinn und Zweck davon ist.


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


Wer ist online?

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