pixelshader transparenz
-
Hallo,
ich bin gerade dabei meine eigene font im Programm darstellen zu lassen.
Das ist die Font .png
http://www.bilder-hochladen.net/files/ledf-2-c81e-png-nb.html
Dabei bekomme ich dieses Ergebnis:
http://www.bilder-hochladen.net/files/ledf-1-c4ca-png-nb.html
Sieht ja fast gut aus... nur das bläuliche gehört da nicht hin.
Ich habe leider keinen Ansatz woran das liegen könnte.float4 FontPixelShader(PixelInputType input) : SV_TARGET { float4 color; color = shaderTexture.Sample(SampleType, input.tex); //wenn der pixel magenta ist, dann löschen bzw. unsichtbar machen if(color.r == 1.0f && color.g == 0.0f && color.b == 1.0f && color.a == 1.0f ) { discard; // oder color.a = 0.0f; } return color; }
Ein paar Stichwörter worans liegen kann,würden schon reichen.
-
*Nachtrag...
handelt sich um DirectX 11 mit Shaderversion 5
Da ich nicht weiß wo der Fehler ist,kann ich keinen direkten code posten...
Dachte mir bevor ich hier mit massen weise code um mich werfe...bin für jeden hinweis dankbar!
Mfg
Pixel
-
Vermutlich liegt es an deinem Sampler, genauer an deiner Texturfilterung.
Wie belegst du denn in D3D11_SAMPLER_DESC den Filter?
Probiers mal mit D3D11_FILTER_MIN_MAG_MIP_POINT.Les dazu mal den Hinweis auf http://msdn.microsoft.com/de-de/library/windows/desktop/ff476132(v=vs.85).aspx#Hinweis (Ganz Unten)
floorball
-
vielen vielen dank floorball, genau das war der fehler!
Einfach den filter ausgetauscht und nun funktionierts
Dieses Forum ist einfach wunderbar;)Mfg
Pixel