2011-02-16 40 views
10

Tôi đang tìm một số gợi ý về cách thực hiện các hiệu ứng bề mặt nước đơn giản trong OpenGL ES 2.0. Không có gì ưa thích như phản xạ hay khúc xạ, chỉ là hiệu ứng gợn sóng/sóng cơ bản điều chỉnh theo thời gian. Hiệu suất là rất quan trọng. Tôi giả định điều này sẽ được thực hiện tốt nhất trong một shader.GLSL cho các hiệu ứng bề mặt nước đơn giản

Mọi gợi ý về cách xử lý tốt nhất điều này?

Trả lời

10

Có một mẹo cũ để mô phỏng sóng nước & gợn sóng bằng nỗ lực tối thiểu về mặt phương trình. Nó được sử dụng ở nhiều nơi, và tôi không thể tìm thấy bản gốc, nhưng bạn có thể lấy nó, ví dụ, từ here.

Bạn sẽ cần 2 họa tiết, mỗi họa tiết chỉ chứa chiều cao. Mô phỏng được thực hiện bằng cách ping-ponging giữa chúng (sử dụng một như là một nguồn và thứ hai là điểm đến mỗi lần).

Khi hiển thị, bạn có thể cần lấy được bề mặt bình thường từ độ cao lân cận.

10

Adrian Boeing's blog có mã GL ví dụ, kèm theo giải thích rõ ràng, về một số hiệu ứng bao gồm gợn.

Các vấn đề liên quan