Raysail adalah raytracer tipe Monte Carlo berdasarkan penelusuran ray belajar dalam satu seri akhir pekan menggunakan karat. Itu bercabang dari proyek REMDA, yang mengimplementasikan fitur -fitur dari dua buku pertama dari seri. Saya sudah mencoba menambahkan fitur ketiga, tetapi saya ragu bahwa kode saya benar -benar benar, bahkan bahwa gambar yang dihasilkan terlihat baik -baik saja.
Selanjutnya raysnail menggabungkan kode dari qbvh-rust-ray-tracer, yaitu modul segitiga mesh, pemuatan file OBJ dan kode material blinn-phong.
Di luar pekerjaan yang sedang berlangsung untuk menggabungkan semua perbaikan yang ditampilkan dalam buku ketiga dari seri ini, dengan tepat bernama "sisa hidup Anda", ada beberapa fitur yang ingin saya tambahkan ke raysnail berikutnya.
Ada implementasi yang sangat kasar dari jendela pratinjau sekarang dalam contoh "Preview_sdl2", tetapi perlu menjadi lebih terpisah dari contoh adegan dan Paramaters baris perintah untuk melacak beberapa adegan dengan tinggi dan lebar yang diberikan menggunakan pratinjau.
Saya ingin menerapkan setidaknya dukungan parsial untuk bahasa definisi adegan povray (SDL). Sayangnya, definisi material Povray sangat berbeda dari bahan dalam raysnail, dan mungkin sulit atau bahkan tidak mungkin untuk meniru bahan povray dengan benar, contoh sepele masa lalu. Pada saat penulisan ini, saya telah menerapkan parser SDL yang sangat mendasar yang dapat membaca kamera povray dan definisi sphere (lihat sdl/example.sdl). Saya ingin memperluas ini untuk lebih banyak geometri dan definisi material, tetapi kemungkinan itu hanya akan mendukung subset dari fitur SDL Povray.
Sebagai penggemar fraktal 3D, saya ingin menerapkan beberapa kode rendering fraktal. Saat ini ada impmentasi kasar dari Mandelbulb, yang hanya membuat kualitas yang sangat rendah, tetapi dapat berfungsi sebagai bukti konsep bahwa IUT dimungkinkan untuk menggunakan kode raysnail untuk membuat fraktal 3D. Mungkin itu membutuhkan frontend yang berbeda.
Silakan periksa wiki untuk daftar lengkap fitur dan rencana: https://github.com/varkalanandar/raysnail/wiki
Jika Anda telah memasang karat dan kargo, cara mudah untuk menjalankan raysnail adalah perintah ini:
cargo run -r --bin raysnail -- -w 800 -h 500 --samples 65 --scene sdl/example.sdlGplv3
Kecuali:
example/earth-map.png , unduh dari NASA, jatuh di domain publik.