AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia [Gelöst][dglOpenGL] Transparenz funktioniert nicht?
Thema durchsuchen
Ansicht
Themen-Optionen

[Gelöst][dglOpenGL] Transparenz funktioniert nicht?

Ein Thema von Edlmann · begonnen am 23. Dez 2010
Antwort Antwort
Edlmann

Registriert seit: 19. Nov 2010
212 Beiträge
 
#1

[Gelöst][dglOpenGL] Transparenz funktioniert nicht?

  Alt 23. Dez 2010, 15:08
Guten Nachmittag liebe DP,

ich wage im Moment meine ersten Schritte Richtung OpenGl. Das funktioniert soweit auch schon, zumindest bei einem simplen 2D-Spiel
Das einzige Problem was ich im Moment noch habe: Meine Texturen werden nicht transparent dargestellt.

Erstmal wie ich die Texturen erstelle:
Ich nehme ein Bild, z.B. ein JPeg von einem Auto, öffne es in Photoshop, füge einen Alphakanal hinzu,
und färbe nun auf diesem die Bereiche schwarz, die ausgeblendet werden sollen. Das ganze wird als .tga gespeichert.

Nun die Frage, welche Befehle braucht es um OpenGL zu sagen dass es diesen Alphakanal auch nutzen soll?
Zum Laden der Texturen benutze ich die Textures.pas v. 1.03,
und beim Rendern rufe ich die Textur wie folgt auf:

Delphi-Quellcode:
glPushMatrix;
 glColor3f(1, 1, 1);
 glBlendFunc(GL_SRC_ALPHA,GL_ONE);
 glBindTexture(GL_TEXTURE_2D, MyTex);
 glEnable(GL_ALPHA_TEST);
 glAlphaFunc(GL_GREATER, 0.1);
 DrawQuad(XPos,YPos,Depthlayer, SizeX,SizeY);
glPopMatrix;
Wobei in MyTex dementsprechend die Textur geladen ist, und XPos, YPos etc erklären sich hoffentlich von selbst.
Doch trotz allen Versuchen zeigt er die Textur nicht durchsichtig an.

[Edit] Anscheinend liegt mein Fehler auch gar nicht im Quelltext, sondern daran wie ich die Textur in Photoshop erstelle, mit einer Textur aus einem Tutorial funktioniert alles super. Von daher wäre es nett, wenn ihr mir erklären könntet, worauf ich dabei genau zu achten habe.

Bisher läuft es so: Bild Reinladen, Reiter "Kanäle" auswählen, Kanal hinzufügen, dann fügt er den Kanal "Apha1" hinzu. Auf diesem markiere ich die Transparenz dann mit Schwarz/weiß.
Doch das Ergebnis ist unverändert mein Bild, mit weißem Hintergrund.

Habe die .tga datei angehängt, in Form eines .rar Archives, tga selbst geht leider nicht [/Edit]

Okey, habs durch Googeln schon gelöst, wer auch mal das Problem hat: Unter den Speicheroptionen für TGA erst "Alpha-Kanäle" anklicken und dann als 32-Bit TGA Speichern, dann bleibt auch der Alpha Channel erhalten.
Angehängte Dateien
Dateityp: rar PlayerCar.rar (16,6 KB, 8x aufgerufen)

Geändert von Edlmann (23. Dez 2010 um 17:10 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz