Nerf.jl
Real-time Neural Radiance Fields in pure Julia.
Requirements
- Julia 1.9 or above.
- AMD or Nvidia GPU (check AMDGPU.jl or CUDA.jl for respective device support).
- At least 4-6 GB of VRAM.
GPU backend
Use Nerf.set_backend!(name) to specify which GPU backend to use, which takes a String with backend name:
- AMD GPU:
Nerf.set_backend!("AMDGPU"); - Nvidia:
Nerf.set_backend!("CUDA").
And then restart your Julia session if returns true.
Alternatively, if you cloned Nerf.jl repo, you can create LocalPreferences.toml file and specify backend in it with:
[Nerf]
backend = "AMDGPU" # or "CUDA"Quickstart (NerfGUI.jl)
For standalone application check NerfGUI.jl package, which provides OpenGL application for real-time interaction.
- Clone
git clone https://github.com/JuliaNeuralGraphics/NerfGUI.jl.git. - Start Julia repl
julia --project=. --threads=auto. - Instantiate project with
]upcommand. - Select GPU backend as described above.
- Launch application:
julia> using NerfGUI
julia> NerfGUI.main()References
- Instant Neural Graphics Primitives with a Multiresolution Hash Encoding: https://nvlabs.github.io/instant-ngp/.