Deutsch
Forum

OpenGL Textur mit Alpha Maske (Tranzparenz)

 
- 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
 
07.07.2021  
 



« 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

80 kB
Bezeichnung:Allpha Kanal Textur
Hochgeladen:09.07.2021
Ladeanzahl67
Herunterladen
 
09.07.2021  
 




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.
 
08.07.2021  
 




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

80 kB
Bezeichnung:Allpha Kanal Textur
Hochgeladen:09.07.2021
Ladeanzahl67
Herunterladen
 
09.07.2021  
 



Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

2.928 Betrachtungen

Unbenanntvor 0 min.
Sven Bader22.12.2022
Tango30.10.2021
Uwe ''Pascal'' Niemeier23.08.2021
Thomas Zielinski13.08.2021
Mehr...

Themeninformationen

Dieses Thema hat 2 Teilnehmer:

Sven Bader (3x)
H.Brill (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie