Chuyển hiệu ứng Ocean của NVidia SDK
sang Irrlicht
Chỉnh mấy hôm rồi cái hiệu ứng này mới có thể tạm chấp nhận được.
Như mình đã nói : cái Ocean shader này bản gốc trong tệp tin Ocean.fx của NVidia SDK , nó là một chương trình hoàn chỉnh. Nhưng có một số cái cần thay đôi khi chuyển sang dùng Irrlicht cho nó là :
- Nó dùng texCUBE để tạo ảnh phản chiếu (Irr không support cái này)
- Việc chuyển từ file .fx sang file hlsl (DirectX) trong Irrlicht không dễ một chút nào. Mình đã dùng FxComposer để xem nó như thế nào , dùng RenderMonkey để tách nó ra thành 02 phần VertexShader và Pixel Shader. Sau đó mới chuyển sang Irrlicht thành 01 file .hlsl.
- OCean Shader của NVidia chỉ hiện CubeBox tĩnh, còn của mình là EnvMap động nên cài đặt khác nhau hoàn toàn.
- Mình chỉ sữ dụng lại phần code tạo hiệu ứng sóng nước và tán xạ mặt nước thôi, còn hiệu ứng môi trường thì lấy từ ShaderDesigner !
Nhưng cuối cùng cũng có thể xem là xong.
Clip của nó đây :