Masalah Anda akan menyelesaikan rendering dengan alpha 1bit. Yang berarti Anda menentukan beberapa alpha dari tekstur sumber yang tidak dirender (kebanyakan 0,5).
Anda harus menulis shader Anda sendiri untuk menghemat kedalaman dari cahaya dan menggunakan instruksi discard
. Buang ada di hlsl, glsl dan juga cg. Itu hanya ada di pixel / fragmen shader dan membuang fragmen curent dari rendering ke backBuffer dan ke z-buffer.
if (texSample.a < 0.5)
discard;
Keuntungannya adalah Anda tidak perlu mengubah rendering 2nd pass Anda, hanya rendering dengan kedalaman cahaya. Saya juga telah membuktikan bahwa itu bekerja:
Jika Anda ingin membuat bayangan yang benar untuk beberapa objek transparan, Anda harus menggunakan beberapa tekstur kedalaman, dengan informasi kedalaman dan opacity yang dibuat menggunakan pengelupasan kedalaman. Dan untuk asap, rambut, dll. Peta opacity dalam atau opacity Fourier adalah solusi terbaik (saya kebanyakan merekomendasikan peta opacity Fourier)
sunting: Saya baru menyadari bahwa saya lupa menambahkan kredit. Seperti biasa. Model pohon ini berasal dari proyek loopix yang sangat bagus jika Anda mencari beberapa model lowpoly, satu tekstur dan model vegetasi gratis.