Kết xuất sương mù dưới nước


8

Tôi biết về glFog, pha trộn giữa sương mù và màu bề mặt dựa trên khoảng cách với máy ảnh, như thế này:

nhập mô tả hình ảnh ở đây

Các phương trình thậm chí được đưa ra trong các tài liệu . Nhưng sương mù được áp dụng ngay trước máy ảnh. Tôi đang cố gắng tạo ra một mặt nước và muốn nó có chiều sâu, ví dụ:

nhập mô tả hình ảnh ở đây

Hiện tại tôi chỉ vẽ mặt nước bằng pha trộn alpha, như bên dưới. Điều tôi cần là có sương mù dựa trên khoảng cách từ mặt nước đến đáy nước. Làm thế nào tôi có thể có được khoảng cách này? Hiện tại tôi cho rằng máy ảnh sẽ luôn ở trên mặt nước.

nhập mô tả hình ảnh ở đây

Câu trả lời:


5

Bạn có thể tia theo dõi khoảng cách đến bề mặt thứ hai. Đây có thể là khái niệm dễ nhất, nhưng không nhất thiết là phương pháp nhanh nhất *.

Nhưng có một mẹo nhỏ, bạn có thể vượt qua nhiều bản đồ độ sâu xuống mặt nước từ máy ảnh. Khoảng cách trong nước hiện là độ sâu pixel trừ đi độ sâu bản đồ. Điều này không hoạt động trong tất cả các tình huống như khi bạn thoát nước và nhập lại sau. Nhưng nên làm việc trong nhiều trường hợp, giống như mô tả. Bạn thậm chí có thể sử dụng kỹ thuật tương tự cho các hoạt động Boolean.

dmap

Hình 1 : Kết xuất bản đồ độ sâu, tham khảo bản đồ độ sâu khi che đáy ao của bạn.

* Nó có thể trong một số trường hợp nhất định.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.