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
]up
command. - 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/.