Pada dasarnya saya ingin menghapus kebutuhan untuk menghasilkan suara yang koheren dari CPU ke GPU. Dari sana, saya juga ingin membuat medan untuk dunia tiga dimensi menggunakan kebisingan ini sebagai kepadatan di titik voxel. Setelah ini, saya ingin mengambil kepadatan tersebut dan membuat poligon (menghasilkan simpul) yang mewakili medan dunia.
Ini baik dan semuanya. Tapi, saya juga ingin mengubah dunia secara dinamis dalam waktu nyata. Setelah saya sampai pada titik ini, saya punya masalah mencoba mendapatkan simpul kembali ke CPU untuk melakukan hal-hal seperti deteksi tabrakan dan semua perhitungan game yang ingin saya libatkan pada CPU dan bukan pada GPU.
Jadi pertanyaannya adalah: bagaimana saya bisa mendapatkan subset dari simpul kembali ke CPU untuk berurusan dengan tabrakan antara lain?
Dan satu pertanyaan lagi: apakah ada cara mudah untuk mengambil satu set simpul dan menghasilkan indeks dari mereka di GPU?
Saya bingung juga untuk jenis shader apa yang harus saya gunakan untuk hal-hal yang berbeda ini. Saya mendengar orang menggunakan pixel shader untuk mengumpulkan kepadatan dan kemudian menggunakan shader geometri untuk berurusan dengan generasi medan dari simpul dan kemudian entah bagaimana menggabungkan vertex shader untuk melakukan deformasi dinamis.
Saya menggunakan C # 4.0, .NET 4.0, dan XNA Game Studio 4.0.