Italia
Foro

OpenGL Textur mit Alpha Maske (Tranzparenz)

 
- Page 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 circa 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 Io l' oGL("Texture",..) Befehl nachbauen müsste um dort einzugreifen. Ich potuto auch mit einer Lösung leben, welche zwei verschiedene "Quads" übereinanderlegt.

Es gingen wohl auch direkt PNG con 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
Downloadcounter67
Download
 
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
possibile 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 circa 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 Aiuto an.

Vielleicht hilft dir das weiter.

PS :
Graphamp65.dll [...] 

Auch David Strutz hat bei xprofan.de/start.htm einen Code.
Der ist zwar per 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 per deine Antwort!

API Funktionen habe ich schon erfolgreich an anderer Stelle verwendet per 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
Downloadcounter67
Download
 
09.07.2021  
 



Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

2.954 Views

Untitledvor 0 min.
Sven Bader22.12.2022
Tango30.10.2021
Uwe ''Pascal'' Niemeier23.08.2021
Thomas Zielinski13.08.2021
Di più...

Themeninformationen

Dieses Thema hat 2 subscriber:

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


Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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