Ваша проблема вирішить візуалізацію за допомогою 1-бітної альфа. Це означає, що ви вказали деяку альфа тексту тексту, яка не відображається (переважно 0,5).
Вам потрібно написати власний шейдер для економії глибини від світла та використання інструкції discard
. Відмова існує також у hlsl, glsl та cg. Він існує лише в шейдері пікселів / фрагментів і відкидає фрагмент виправлення від візуалізації в backBuffer і в z-буфер.
if (texSample.a < 0.5)
discard;
Перевагою є те, що вам не потрібно змінювати свою передачу 2-го проходу, а лише відображення глибини світла. Також я довів, що це працює:
Якщо ви хочете зробити правильні тіні для декількох прозорих об'єктів, вам доведеться використовувати безліч текстур глибини, з інформацією про глибину та непрозорість, що надається за допомогою глибинного пілінгу. А для диму, волосся тощо. Глибокі непрозорість або карти непрозорості Фур'є - найкраще рішення (я в основному рекомендую карти непрозорості Фур'є)
редагувати: Я щойно зрозумів, що забув додати кредити. Як завжди. Модель дерева - від проекту loopix, який просто чудовий, якщо ви шукаєте якийсь низький рівень, одну текстуру та вільні моделі рослинності.