![]() |
AW: OpenGL - rendern eines transparenten Bildes
Liste der Anhänge anzeigen (Anzahl: 1)
Also ich habe mal ein Beispiel erstellt, dass sehr Basic ist, aber vielleicht mein Problem etwas veranschaulicht.
Ich habe mir das Beispiel mal von DelphiGL genommen und die Routine Screenshot benutzt. Wenn man im Programm den Button Render betätigt, wird erwartungsgemäß das Bild so gerendert, wie im Tutorial. Will ich es speichern, erhalte ich zwar eine TGA-Datei, ABER -> der Inhalt ist komplett schwarz -> es ist kein Alpha-Kanal vorhanden Einzig die Abmaße stimmen. Ich habe dann bei GetReadPixels das Format von GL_BGR nach GL_BGRA umgestellt und vorher noch die Datengröße von DataSize := Width * Height * 3; geändert DataSize := Width * Height * 4; um Platz für Alphakanal zu schaffen. Ich finde leider den Fehler nicht... Ich hänge mal das Projekt an. |
AW: OpenGL - rendern eines transparenten Bildes
Du solltest vllt die Frage auch noch mal bei DGL stellen. Dort gibt es eigentlich kompetente Antworten.
|
AW: OpenGL - rendern eines transparenten Bildes
Hallo Jens,
vielen Dank für den Hinweis. Ich habs dort auch mal gepostet...Mal schauen. Wenn ich eine helfende Antwort erhalte, poste ich´s hier. |
AW: OpenGL - rendern eines transparenten Bildes
Manchmal reicht es auch, einfach nochmal mit einer Nacht Abstand alles von Neuem zu betrachten.
2 Zeichen musste ich ändern und alles geht. :-D Der Code hier ist verantwortlich für das Erstellen des Alphakanals:
Delphi-Quellcode:
Vorher hatte ich dort nur eine 24!
tgaHeader.tfBpp := 32;
Jetzt ist der Alphakanal vorhanden und er wird sogar korrekt befüllt! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz