Bất kỳ kỹ thuật nào liên quan đến raytracing trong shader mảnh đều có thể muốn viết Z để bộ đệm độ sâu chứa một biểu diễn chính xác của bề mặt raytraced. Ví dụ:
- Diễu hành tia trường từ xa , như đã thấy trong nhiều sản phẩm shadertoys và demoscene. Ở đây, chỉ có một quad toàn màn hình được rasterized, và tất cả các hình học được tạo bởi shader mảnh. Viết Z sẽ là cần thiết nếu bạn muốn sử dụng bộ đệm độ sâu cho ánh sáng bị trì hoãn hoặc hiệu ứng sau, hoặc cho các trường khoảng cách tổng hợp với hình học tam giác thông thường và có được tắc chính xác.
- Tia Voxel diễu hành, tương tự như trên. Ngay cả khi các voxel trong mờ (như trong đám mây khói hoặc tương tự), có thể hữu ích khi viết Z khi mật độ voxel đủ cao để trở nên mờ đục; ví dụ, điều đó có thể hữu ích cho các tính toán làm mờ / độ sâu trường ảnh sau này.
- Các kỹ thuật ánh xạ tắc Parallax , trong đó một bề mặt phẳng được tạo ra bằng chiều sâu bằng cách di chuyển bằng tia tới một trường cao.
Có lẽ có những trường hợp tương tự khác trong đó hình dạng của một bề mặt được xác định bởi shader mảnh chứ không phải bởi các hình tam giác rasterized.
Nhân tiện, các API và GPU mới hơn bao gồm hỗ trợ cho chế độ đầu ra có chiều sâu bảo thủ , trong đó Z được viết bằng shader chỉ được phép lớn hơn - bằng với Z hình học, nhưng không ít hơn. Điều này cho phép tối ưu hóa Z / phân cấp-Z sớm vẫn hoạt động dựa trên Z hình học: nếu hình học rasterized bị loại bỏ vì đứng sau một cái gì đó, thì bạn cũng biết Z được viết bằng shader cũng sẽ bị loại bỏ. Điều này rất phù hợp cho các trường hợp như trên, vì bạn có thể rasterize một số hình học giới hạn cho đối tượng trường khoảng cách / voxel / heightfield; sau đó độ sâu thực tế sẽ lớn hơn bằng với hình học giới hạn.