Vấn đề của bạn sẽ giải quyết kết xuất với alpha 1bit. Điều đó có nghĩa là bạn chỉ định một số alpha của kết cấu nguồn không được hiển thị (chủ yếu là 0,5).
Bạn phải viết shader của riêng bạn để tiết kiệm độ sâu từ ánh sáng và sử dụng hướng dẫn discard
. Loại bỏ tồn tại trong hlsl, glsl và trong cg là tốt. Nó chỉ tồn tại trong shader pixel / mảnh và loại bỏ đoạn bị cắt từ kết xuất thành backBuffer và vào bộ đệm z.
if (texSample.a < 0.5)
discard;
Ưu điểm là bạn không cần thay đổi kết xuất đường chuyền thứ 2 của mình, chỉ hiển thị độ sâu của ánh sáng. Ngoài ra tôi đã chứng minh rằng nó hoạt động:
Nếu bạn muốn hiển thị bóng chính xác cho nhiều đối tượng trong suốt, bạn sẽ phải sử dụng nhiều kết cấu có chiều sâu, với thông tin độ sâu và độ mờ được hiển thị bằng cách sử dụng độ sâu lột. Và đối với khói, tóc v.v ... Bản đồ độ mờ đục sâu hoặc Fourier là giải pháp tốt nhất (tôi chủ yếu khuyên dùng bản đồ độ mờ Fourier)
chỉnh sửa: Tôi chỉ nhận ra rằng tôi quên thêm tín dụng. Như mọi khi. Mô hình cây là từ dự án loopix , thật tuyệt vời nếu bạn đang tìm kiếm một số mô hình thấp, một kết cấu và mô hình thực vật miễn phí.