Sangat mudah untuk melakukannya. Menggunakan Octtree Anda hanya membagi dunia menjadi potongan-potongan semakin kecil sampai Anda mencapai tingkat detail yang dibutuhkan. Ini mungkin ukuran sebutir pasir misalnya. Pikirkan Minecraft dibawa ke ekstrem.
Lalu apa yang Anda render? Jika detailnya cukup kecil Anda dapat mempertimbangkan render blok - simpul daun dari octtree. Pilihan lain termasuk bola atau bahkan geometris primitif. Warna dan normal dapat disimpan di setiap node, dan untuk mengurangi LOD seseorang dapat menyimpan informasi komposit di tingkat yang lebih tinggi dari pohon.
Bagaimana Anda bisa mengelola begitu banyak data? Jika pohon adalah struktur data aktual, Anda dapat memiliki beberapa petunjuk referensi sub-pohon yang sama, seperti menggunakan kembali tekstur tetapi juga menyertakan geometri. Triknya adalah menggunakan kembali sebanyak mungkin di semua level. Misalnya, jika Anda menghubungkan 4 oktan dalam pengaturan tetrahedral semua ke simpul anak yang sama di semua tingkatan, Anda dapat membuat fraktal sierpinsky 3d yang sangat besar menggunakan hampir tidak ada memori. Adegan nyata tentu saja akan jauh lebih besar.
Masalahnya adalah itu hanya akan bekerja untuk geometri statis karena animasi nyata akan memerlukan manipulasi semua data setiap frame. Namun rendering, terutama dengan variabel LOD tidak ada masalah.
Bagaimana cara membuat hal seperti itu? Saya penggemar berat tracing ray, dan menangani hal semacam itu dengan cukup baik dengan dan tanpa GPU.
Semua ini tentu saja spekulasi. Saya tidak memiliki informasi spesifik tentang kasus yang Anda bicarakan. Dan sekarang untuk sesuatu yang terkait tetapi berbeda:
Sejumlah besar data diberikan
EDIT Dan inilah yang saya lakukan, tetapi saya sengaja mengubah norma untuk membuat kotak lebih jelas:
Stanford bunny di voxels
Frame rate itu berada pada satu inti IIRC. Menggandakan kedalaman pohon umumnya akan memotong laju bingkai menjadi dua, sementara menggunakan beberapa inti akan skala dengan baik. Biasanya saya menyimpan primitif (segitiga dan semacamnya) di octtree saya, tetapi untuk senyum saya telah memutuskan untuk membuat simpul daun pohon itu sendiri dalam kasus ini. Performa yang lebih baik dapat diperoleh jika Anda mengoptimalkan metode tertentu saja.
Di suatu tempat di ompf ada mobil yang dibuat dengan voxels yang benar-benar fantastis - kecuali itu statis. Tampaknya tidak dapat menemukannya sekarang ...