| |
|
|
- Seite 1 - |
|
Sven Bader | Hallo!
Nach langer Zeit habe ich mich mal wieder XProfan gewidmet und etwas mit OpenGL herumgespielt. Was ich nicht hinbekommen habe war eine Textur mit transparenten Bereichen. Es müsste über eine Alphamaske lösbar sein also eine zweite Schwarz-Weiß-Textur, wobei Schwarz transparent macht und Weiß deckend belässt (oder umgekehrt). Es gibt diverse Ansätze aber immer hakt es irgendwo.
Ich denke das Hauptproblem ist, dass ich den oGL("Texture",..) Befehl nachbauen müsste um dort einzugreifen. Ich könnte auch mit einer Lösung leben, welche zwei verschiedene "Quads" übereinanderlegt.
Es gingen wohl auch direkt PNGs mit Alpha Kanal zu laden, Profan hat hier nativ nur den oGL("LoadTextureBMP",,).
Vielleicht hat von euch jemand eine Lösung? Würde mich freuen
Viele Grüße Sven |
|
|
| |
|
|
|
« Dieser Beitrag wurde als Lösung gekennzeichnet. » |
|
Sven Bader | Habs gefunden in diesem alten Beitrag: [...]
Es ist eine Funktion zum Alpha Texturen laden, diese muss ich noch in natives Profan übersetzen, mit dem Generator dieses Dateiformats habe ich das schon gemacht und getestet:
Nachtrag: Den eigentlichen Code konnte ich auch umschreiben und habe ihn in das verlinkte Thema gepostet |
|
|
| |
|
|
|
|
H.Brill | Müßte mit der OpenGL - API zu lösen sein, Stichwort RGBA. Da man auch auf die API zugreifen kann, müßte sowas möglich sein. Google spuckt da einiges aus :
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, TextureList->getSizeX(), TextureList->getSizeY(), GL_RGBA, GL_UNSIGNED_BYTE, TextureList->getData()); To allow for an alpha channel, and turn on blending with:
glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
Da mußt du dich mal über die Werte der Konstanten informieren. Evtl. sind sie ja auch schon definiert, siehe ~GL_LIGHTING (Lektion 7a.) Schau dir auch mal Lektion 7a: Licht an- und ausschalten in der Hilfe an.
Vielleicht hilft dir das weiter.
PS : Graphamp65.dll [...]
Auch David Strutz hat bei xprofan.de/start.htm einen Code. Der ist zwar für seinen Zusatz-Compiler xpse gedacht, aber evtl. kann man da auch was rauslesen. |
|
|
| Benutze XPROFAN X3 + FREEPROFAN Wir sind die XProfaner. Sie werden von uns assimiliert. Widerstand ist zwecklos! Wir werden alle ihre Funktionen und Algorithmen den unseren hinzufügen.
Was die Borg können, können wir schon lange. | 08.07.2021 ▲ |
|
|
|
|
Sven Bader | Hallo und vielen Dank für deine Antwort!
API Funktionen habe ich schon erfolgreich an anderer Stelle verwendet für eine Kantenglättung sogar ein identische glBlendFunc. Es artet nur leider immer wieder in Ausprobieren aus was die erwarteten Datentypen angeht, sofern es keine Konstanten sind.
In deinem Beispiel versuche ich TextureList->getData() mit einer per oGL("LoadTextureBMP",...) geladenen Textur zu füttern, was unmittelbar zum Absturz des Programms führt, auch die SizeX/SizeY sind nur geraten. Eine BMP und eine PNG als Blockread habe ich auch noch probiert.
Es mangelt eigentlich nicht an Ideen, es ist eher die Umsetzung innerhalb von Profan. |
|
|
| |
|
|
|
Sven Bader | Habs gefunden in diesem alten Beitrag: [...]
Es ist eine Funktion zum Alpha Texturen laden, diese muss ich noch in natives Profan übersetzen, mit dem Generator dieses Dateiformats habe ich das schon gemacht und getestet:
Nachtrag: Den eigentlichen Code konnte ich auch umschreiben und habe ihn in das verlinkte Thema gepostet |
|
|
| |
|
|