Hm, also der Alphatest funktioniert bei mir ja auch. Bei anderen Texturen wird auch alles unsichtbar was transparent sein soll. Nur eben nicht beim Mauszeiger :/
Kann es vielleicht daran leigen, dass ich den AlphaTest im FormCreate anschalte und man ihn vielleicht bei jedem zeichnen erneut anmachen muss (auch wenn er zwischendurch nicht ausgestellt wird)?
Was soll ich nun eigentlich für eine Einstelung bei der Textures.pas die ich verwede nehmen? DECAL oder MODULATE?
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Also wenn es überall nur bei dieser Textur nicht geht, dann liegt das fast 100% daran, dass der Alpha-Channel nicht richtig ausgelesen wurde. Würde diesen daher lieber kontrollieren. glAlphaFunc und glEnable(GL_ALPHA_TEST) können theoretisch am Anfang gesetzt werden, was allerdings sehr ungeschickt wäre. Alle Renderstates sollten nur dort gesetzt werden, wo sie gebraucht werden und am besten anschließend auch wieder zurück gesetzt werden, damit es keine unerwartenden Folgen gibt und stets zu Beginn eines Zeichenvorganges ein bekannter Zustand existiert.
Was Du als Loader verwendest, weiß ich nicht. Ich verwende z.B. SDL als Loader und habe in dem Bereich bisher keine Probleme gehabt. Wichtig ist nur, dass im RGBA gelesen wird... also genauso wie bei den anderen Texturen bei denen der Alpha-Test funktioniert.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Also, was ich gerade leider feststellen musste ist, dass nun auf einmal bei JEDER Textur, der Teil, der tranpsparent sein sollte, die Farbe des Quads durscheinen lässt!
Und das obwohl AlphaTest an ist.
Mir ist dies nicht gleich aufgefallen, da die Farbe des Quds zufällig genau die gleiche wie die Umgebung hat.
Woran kann das liegen?
Ich nehm schonmal was vorweg: Wenn der Alphakanal bei der Textur NICHT richtig eingestellt sein würde, dann würde man ja nicht die Farbe des Quds sehen, sondern die Farbe, die die Textur an der Stelle hat. Das kann es also schonmal nicht sein.
Registriert: Sa Mai 04, 2002 19:48 Beiträge: 3830 Wohnort: Tespe (nahe Hamburg)
Nö, wenn Du die Alpha-Maske darunter vollständig ausfüllst, solltest Du den gleichen Effekt erzielen. Aber so kommen wir irgendwie nicht weiter. Du hast ein Beispiel als Source Code mit Bild bekommen, dass zu 100% funktioniert. Versuche das einmal bei Dir nachzubauen. Vergewissere Dich, dass Du nicht irgendwo sowas wie das Blending drinne hast, dass diesen Effekt verursacht, schaue ob dein glAlphaFunc eingestellt und aktiviert ist, versuche einmal einen anderen Textur-Loader, poste Bild und den entsprechenden Teil, der den Mauszeiger transparent darstellen soll.
_________________ "Light travels faster than sound. This is why some people appear bright, before you can hear them speak..."
Hmm,
wenn ich glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); beim Erstellen der Textur zeichne und die Textur dann auf ein weißes Quad zeichne, funktioniert es.
Allerdings muss ich dann vor jedem zeichnen die Farbe auf weiß stellen.
Mitglieder in diesem Forum: 0 Mitglieder und 13 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.