-
Notifications
You must be signed in to change notification settings - Fork 57
Open
Description
I want to use the warpprb config instead of warp in a multiview setting, as it can model indirect illumination effects. However, it does not work properly when the scene only contains an SDF and no mesh. Strangely, it works properly when the scene contains a mesh, even if it is far away and not seen by any camera. Since adding a mesh to the scene greaterly slows down the JIT compilation of the CUDA backend, I really want to fix the issue and allow optimizing a scene that only contains an SDF.
How to reproduce:
- Seems that the
warpprbconfig is only used on themirror-optscene. I confirm it works properly on that scene:
python optimize.py mirror-opt --optconfig mirror-opt-hq --config warpprb --outputdir ./outputs --llvm --forceyields
convergence2.mp4
- Changing the
--optconfigfrommirror-opt-hqfromno-tex-12also works:
python optimize.py mirror-opt --optconfig no-tex-12 --config warpprb --outputdir ./outputs --llvm --forceyields
convergence2.mp4
Note that three views are completely blocked by the wall.
- Removing the
<shape type="rectangle">meshes inmirror-opt.xml(scene file at mirror-opt-2.zip) however, does not work properly
python optimize.py mirror-opt-2 --optconfig no-tex-12 --config warpprb --outputdir ./outputs --llvm --forceyields
convergence2.mp4
- Finally, if I do not remove the mesh shapes but put them at very high positions, it works properly even if no camera can see the rectangle shapes (scene file at mirror-opt-3.zip).
python optimize.py mirror-opt-3 --optconfig no-tex-12 --config warpprb --outputdir ./outputs --llvm --forceyields
convergence2.mp4
Note
Some videos are shorter than others because I often encounter a crash
Assertion failed in /project/ext/drjit-core/ext/nanothread/src/queue.cpp:354: remain == 1
Thus, the optimization stops before running for full iterations.
Metadata
Metadata
Assignees
Labels
No labels