Sorununuz 1 bit alfa ile oluşturmayı çözecektir. Bu, oluşturulmamış bir kaynak doku alfa belirttiğiniz anlamına gelir (çoğunlukla 0,5).
Işıktan derinliği korumak ve talimatı kullanmak için kendi gölgelendiricinizi yazmalısınız discard
. Atma hlsl, glsl ve cg'de de mevcuttur. Yalnızca piksel / parça gölgelendiricide bulunur ve oluşturma işleminden backBuffer'a ve z arabelleğine doğru parçayı atar.
if (texSample.a < 0.5)
discard;
Avantajı, 2. geçiş oluşturmayı değiştirmenize gerek kalmaması, sadece ışığın derinliğini oluşturmasıdır. Ayrıca işe yaradığını kanıtladım:
Birden çok saydam nesne için doğru gölgeler oluşturmak istiyorsanız, derinlik soyma kullanılarak oluşturulan derinlik ve opaklık bilgileriyle birden fazla derinlik dokusu kullanmanız gerekir. Duman, saç vb. İçin Derin opaklık veya Fourier opaklık haritaları en iyi çözümdür (çoğunlukla Fourier opaklık haritalarını öneririm)
edit: Ben sadece kredi eklemeyi unuttum fark etti. Her zamanki gibi. Ağaç modeli bazı lowpoly, bir doku ve ücretsiz bitki örtüsü modelleri arıyorsanız, harika olan loopix projesinden .