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

Aktuelle Zeit: So Dez 22, 2024 04:53

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



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Multitexture und Alphakanäle
BeitragVerfasst: So Sep 16, 2012 13:51 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Apr 13, 2011 22:05
Beiträge: 218
Programmiersprache: Lazarus/FPC
Hallo.

Folgendes Problem: Ich würd gern per Multitexture mehrere Texturen auf eine Fläche bringen. Grundsätzlich kein Thema, das Problem sind dabei aber die Alpha-Kanäle einiger Texturen. Textur 0 ist zum Beispiel eine flächenfüllende Wiese und Textur 1, die darauf liegt, ist durchsichtig und beihnaltet nur ein paar Steine. Kombiniert man das logisch sieht man nun die Wiese und die Steine die darauf liegen. Blöderweise sieht das OpenGL anders und meint dort wo es auf der SteinTextur Alpha-Werte gibt muss auch insgesamt nun Alpha-Blending sein und macht gleich die ganze Fläche durchsichtig.

Code:
  1. glActiveTextureARB(GL_TEXTURE0);
  2. glenable(GL_TEXTURE_2D);
  3. glBindTexture(GL_TEXTURE_2D, maptex[0]);
  4.  
  5. glActiveTextureARB(GL_TEXTURE1);
  6. glenable(GL_TEXTURE_2D);
  7. glBindTexture(GL_TEXTURE_2D, maptex[2]);
  8.  
  9. //Hier wird Objekt gezeichnet.
  10.  


Man sieht nur GL_TEXTURE1 und die Teile der Textur die durchsichtig sind machen gleich die ganze Fläche durchsichtig. Sollte man darunter nicht Texture0 sehen?????

Ich such die ganze Zeit schon nach Lösungen aber brauchbares findet sich da nicht :evil:

Wäre sehr dankbar für Hilfe.

lg Ida

_________________
Ich teile manchmal heimlich durch Null. - Alber Einstein


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multitexture und Alphakanäle
BeitragVerfasst: So Sep 16, 2012 14:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
Wie sind den deine glTexEnv Einstellungen? Damit stellst du ein wie die beiden Texturen kombiniert werden.

Siehe auch: http://wiki.delphigl.com/index.php/Multitexturing

Bevor du dich aber in glTexEnv einarbeitest kann ich dir aber nur empfehlen einen Shader zu benutzen. Mag auf den ersten Blick umständlicher wirken, aber wenn du einmal die Infrastruktur für Shader hast ist es deutlich einfacher.

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multitexture und Alphakanäle
BeitragVerfasst: So Sep 16, 2012 14:12 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Apr 13, 2011 22:05
Beiträge: 218
Programmiersprache: Lazarus/FPC
Naja, ich hab schon öfters die Shader Tutorials durchgearbeitet und es jedesmal am Ende aufgegeben, die sind mir einfach zu hoch. Ich kapier weder was die Codes machen noch wie man Parameter übergibt, ich hab sehr viel probiert aber noch NIE einen Shader zum Laufen gebracht :? Das ist ein Thema das überlasse ich lieber den Göttern^^

Und die glTexEnvi-Einstellungen sind für die erste Textur
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);

und für die zweite, wobei ich da schon einige druchprobiert hab wie GL_MODULATE ect und immer dasselbe Ergebnis kommt -.-
glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_ADD);

_________________
Ich teile manchmal heimlich durch Null. - Alber Einstein


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multitexture und Alphakanäle
BeitragVerfasst: So Sep 16, 2012 16:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Nov 08, 2010 18:41
Beiträge: 769
Programmiersprache: Gestern
kannst dir ja mal die ARB programme anschauen die sind in der Regel sehr viel einfacher eingebaut :)

aber BTT:

http://www.opengl.org/wiki/Texture_Comb ... ha_of_tex0

^^

_________________
Meine Homepage


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multitexture und Alphakanäle
BeitragVerfasst: So Sep 16, 2012 16:41 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 29, 2005 12:28
Beiträge: 2249
Wohnort: Düsseldorf
Programmiersprache: C++, C#, Java
@Ida:
Versuche es mal mit GL_DECAL für die zweite Textur. Dann sollte der Alpha-Kanal der zweiten Textur benutzt werden:
Bild
(Legende: f ist die erste Textur, t die zweite, v das Ergebnis)

_________________
Yeah! :mrgreen:


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Multitexture und Alphakanäle
BeitragVerfasst: So Sep 16, 2012 17:01 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Apr 13, 2011 22:05
Beiträge: 218
Programmiersprache: Lazarus/FPC
Zitat:
Versuche es mal mit GL_DECAL

DANKE, das wars was ich gesucht hab.
Bild

_________________
Ich teile manchmal heimlich durch Null. - Alber Einstein


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


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 27 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:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.023s | 15 Queries | GZIP : On ]