alphakanal auf mesh?

Posted By: tagimbul

alphakanal auf mesh? - 02/25/17 15:01

hallo. ich bin gerade an einem baum am modelieren.
nun hab ich gemerkt das 3dgs nicht so der fan von 32 bit bildern ist.

gibt es eine möglichkeit alpha kanäle auf meshes zu nutzen ohne das die merkwürdig rendern?

mfg tom
Posted By: Superku

Re: alphakanal auf mesh? - 02/25/17 15:10

Du musst den Bäumen (Baumstämmen) ein Material zuweisen, welches in den Z-Buffer schreibt. Ich glaube, im Gamestudio Wiki gibt es ein Alphatest-Material, aber als Fixed Function Effekt. Das ist nicht so meine Welt.
Stattdessen könntest du den Diffuse Shader vom Shader Tutorial nehmen: http://www.conitec.net/shaders/shader_work2.htm

Dort fügst du nun in der technique und im pass vor der Shader-Kompilierung folgende zwei Zeilen ein:

ZWriteEnable = true;
AlphaBlendEnable = false;

Sofern der Baum keine Blätter(-teilmeshes/-texturen) hat und du das Modell wirklich ausschließlich im soliden Durchgang rendern möchtest, dann kannst du zu Beginn des Shaders noch
bool PASS_SOLID; // im Manual erklärt
setzen.
Posted By: tagimbul

Re: alphakanal auf mesh? - 02/25/17 15:59

also ehm grin
AlphaBlendEnable = false;
das deaktiviert ja quasi den alpha kanal ich meine eigentlich das ich ihn haben will.
also es geht vor allem nur um die blätter das ich die blätter mit alpha kanal rendern kann


baumstamm und blätter haben jeweils ihr eigenes material.
ich versuche ebenfals gerade eine fix methode zu schreiben
bin auch gerade mit shader dran. mit der ent_mtlset funktion kann ich auf ein bestimtes skin ein material setzen.
....
ZWriteEnable = true; ist schon nahe dran aber dann verdeckt der alphakanal von einer blätter partie die der anderen....
hmm

ist ja echt merkwürdig das das nicht geht... bzw das handbuch nichtmal ne lösung parat hält frown

Posted By: tagimbul

Re: alphakanal auf mesh? - 02/25/17 16:21

öhmm ich hab jetzt wieder ne 32 bit bild datei bei den blättern und den flag OVERLAY gesetzt... jetzt sieht es gut aus....

ok das war wohl ne blame the manual geschichte ^^"
ich hatte unter dateiformate rechechiert
da stand:
"Bilder ohne Alpha-Kanal lassen sich für Overlays mit transparenten Teilen verwenden. "

aber hab noch ein beitrag hier im forum gefunden der das thema auch behandelt. deshalb hab ich dann den overlay flag mal ausprobiert und dann im handbuch auch unter overlay gelesen:

" Bei transparenten Texturen (32 Bit oder DDS), werden Pixel dann unsichtbar wenn ihre Transparenz unterhalb der Schwelle von d3d_alpharef liegt (default: 50%). "

dann wäre das problem gelöst danke für deine hilfe Superku =)
© 2024 lite-C Forums