Tôi đang cố gắng chuyển cổng này (http://madebyevan.com/webgl-water/) qua BA. Tôi nghĩ rằng tôi đang nhận được gần (chỉ muốn mô phỏng cho bây giờ, không quan tâm về chất ăn da/khúc xạ nào được nêu ra). Tôi muốn làm cho nó hoạt động với các shader để tăng cường GPU.Three.js Truy xuất dữ liệu từ WebGLRenderTarget (sim nước)
Dưới đây là hiện tại của tôi BA thiết lập sử dụng shaders: http://jsfiddle.net/EqLL9/2/ (máy bay nhỏ thứ hai là để gỡ lỗi những gì hiện đang nằm trong WebGLRenderTarget)
Những gì tôi đang phải vật lộn với đang đọc dữ liệu trở lại từ WebGLRenderTarget (rtTexture trong ví dụ của tôi). Trong ví dụ bạn sẽ thấy 4 đỉnh xung quanh điểm trung tâm được di dời lên trên. Điều này là chính xác (sau 1 bước mô phỏng) khi nó bắt đầu với điểm trung tâm là điểm duy nhất của dịch chuyển.
Nếu tôi có thể đọc dữ liệu từ rtTexture và cập nhật kết cấu dữ liệu (buf1) mỗi khung hình, thì mô phỏng sẽ hoạt ảnh đúng cách. Làm cách nào để đọc dữ liệu trực tiếp từ một WebGLRenderTarget? Tất cả các ví dụ minh họa cách gửi dữ liệu đến đích (hiển thị cho nó), không đọc TỪ nó. Hay tôi làm tất cả sai? Một cái gì đó nói với tôi tôi sẽ phải làm việc với nhiều kết cấu và bằng cách nào đó trao đổi qua lại tương tự như cách Evan đã làm nó.
TL; DR: Làm thế nào tôi có thể sao chép dữ liệu từ một WebGLRenderTarget đến một DataTexture sau khi một cuộc gọi như thế này:
// render to rtTexture
renderer.render(sceneRTT, cameraRTT, rtTexture, true);
EDIT: Có thể đã tìm thấy các giải pháp tại jsfiddle/gero3/UyGD8/9/ Will điều tra và báo cáo lại.
Ok, đã cố định mô phỏng. Tôi đã không triển khai đệm đôi với các mục tiêu WebGLRenderTarget kép. Mới nhất là: http://jsfiddle.net/EqLL9/4/ – relicweb
Tuyệt vời. Dưới đây là một ví dụ khác thực hiện GPGPU trong khuôn khổ của ba.js: http://jabtunes.com/labs/3d/gpuflocking/webgl_gpgpu_flocking3.html – WestLangley
@WestLangley Cảm ơn vì điều đó, trông thật tuyệt. Tôi đã cập nhật mô phỏng của mình và đặt nó trên trang web chính của mình (mà vẫn còn rất nhiều WIP): [http://relicweb.com/webgl/rt.html](http://relicweb.com/webgl/rt. html) – relicweb