arnold-usd
arnold-usd copied to clipboard
I would like to have a set of instructions to render ALab2 without missing materials and any additional commercial software other than Arnold
Describe the feature you'd like I would like to be able to render the asset from https://dpel.aswf.io/alab/
without issues
Describe the solution you'd like Down load the following assets
https://dpel-assets.aswf.io/usd-alab/alab-v2.0.1.zip https://dpel-assets.aswf.io/usd-alab/alab-procedurals.v2.0.1.zip
Follow additional steps given the README.md
that will be created
render with usdrecord using --camera renderCam --frame 1004:1059x1 --purposes render --detail high --renderer Arnold entry.usda ALab2.####.exr
or similar
Describe alternatives you've considered
I am able to render the scene with MoonRay without issues
Additional context Currently I get missing textures or materials and a lot of grain:
By comparison this post on LinkedIn
https://www.linkedin.com/feed/update/urn:li:activity:7045597546047553536/
seems clean and has less errors
Issue synced internally to ARNOLD-13401
Also with denoising.
https://user-images.githubusercontent.com/86946/229417577-ef333146-be5f-4fab-8456-5f038903cb49.mp4
Hi @samhodge , which version of arnold and usd did you use ? Thanks,
Arnold 7.2.1.0 and USD v21.08 on Ubuntu 20.04 LTS with gcc 9.4.0
Trying again with
#!/usr/bin/env bash
for i in $(seq -f "%05g" 1004 1049)
do
LD_PRELOAD='/media/sam/trainer/build2/Arnold-7.2.1.0/bin/libai.so:/media/sam/trainer/build2/python2.7env/lib/libpython2.7.so.1.0' kick -i /media/sam/data/ALab2/ALab/entry.usda -c /root/camera01/GEO/renderCam_hrc/renderCam_buffer/renderCam_srt/renderCam -frame ${i} -r 1920 1080 -gpu 0,1 -as 12 -device cpu -t 48 -der -dw -dp -o kick.${i}.exr > log.{$i}.exr
done
Missing maps are resolved.
I could use some advice on getting secondary displays output?
Log so far... log.zip
Trying again with
#!/usr/bin/env bash for i in $(seq -f "%05g" 1004 1049) do LD_PRELOAD='/media/sam/trainer/build2/Arnold-7.2.1.0/bin/libai.so:/media/sam/trainer/build2/python2.7env/lib/libpython2.7.so.1.0' kick -i /media/sam/data/ALab2/ALab/entry.usda -c /root/camera01/GEO/renderCam_hrc/renderCam_buffer/renderCam_srt/renderCam -frame ${i} -r 1920 1080 -gpu 0,1 -as 12 -device cpu -t 48 -der -dw -dp -o kick.${i}.exr > log.{$i}.exr done
whoops should be
#!/usr/bin/env bash
for i in $(seq -f "%05g" 1004 1049)
do
LD_PRELOAD='/media/sam/trainer/build2/Arnold-7.2.1.0/bin/libai.so:/media/sam/trainer/build2/python2.7env/lib/libpython2.7.so.1.0' kick -i /media/sam/data/ALab2/ALab/entry.usda -c /root/camera01/GEO/renderCam_hrc/renderCam_buffer/renderCam_srt/renderCam -frame ${i} -r 1920 1080 -gpu 0,1 -as 12 -device cpu -t 48 -der -dw -dp -o kick.${i}.exr > log.${i}.txt
done
Hi @samhodge , I wasn't able to reproduce your issue with the texture with usdrecord, but I have a slightly different setup, macOS, arnold 7.2.1.0, usd 22.11 and latest arnold-usd.
usdrecord --camera renderCam --frames 1004 --purposes render --renderer Arnold --imageWidth 480 entry.usda ALab2.####.png
Did you use the high resolution textures ? https://aswf-dpel-assets.s3.amazonaws.com/usd-alab/alab-textures.v2.0.1.zip or just the Alab scene with the baked procedural data ? I tried without them.
For batch rendering we generally use kick as it is supposed to be more memory efficient than usdrecord/husk. The hydra delegate used by husk and usdrecord is more tailored for interactive rendering.
@cpichard yeah I got onto the kick -i input.usda ...
today and it changes everything.
I didn't use the high resolution textures
raising the stakes
kick -i /media/sam/data/ALab2/ALab/entry.usda -c /root/camera01/GEO/renderCam_hrc/renderCam_buffer/renderCam_srt/renderCam -frame 01010 -r 1920 1080 -gpu 0,1 -as 15 -device cpu -t 48 -der -dw -dp -td 11 -trm 4 -dif 3 -spc 8 -ds 6 -ss 11 -ts 5 -o kick-high.01010.exr
To see if I can clean up some of this
https://user-images.githubusercontent.com/86946/230511380-3c30cad1-4c19-4d62-a04e-01befc86f947.mp4
From the following launch script
#!/usr/bin/env bash
# -as %d Anti-aliasing samples
# -asmax %d Anti-aliasing samples maximum (for adaptive sampling)
# -af %s %f Anti-aliasing filter and width (box triangle gaussian ...)
# -asc %f Anti-aliasing sample clamp
# -c %s Active camera
# -sh %f %f Motion blur shutter (start end)
# -fov %f Camera FOV
# -e %f Camera exposure
# -ar %f Pixel aspect ratio
# -t %d Threads
# -device %s Rendering device (cpu|gpu)
# -gpu %s Enabled gpu devices
# -gpu_warm Run the gpu cache warming pre-process
# -bs %d Bucket size
# -bc %s Bucket scanning (top left random spiral hilbert)
# -td %d Total ray depth
# -dif %d Diffuse depth
# -spc %d Specular depth
# -trm %d Transmission depth
# -ds %d Diffuse samples
# -ss %d Specular samples
# -ts %d Transmission samples
export [email protected]
export FLEXLM_BATCH=1
export FLEXLM_DIAGNOSTICS=3
export ADCLMHUB_LOG_LEVEL=T
export PATH=${PATH}:/media/sam/trainer/build2/Arnold-7.2.1.0/bin:/media/sam/trainer/build2/USD_python2.7_monolithic7/bin:/media/sam/trainer/build2/python2.7env/bin
export PYTHONPATH=$PYTHONPATH:/media/sam/trainer/build2/USD_python2.7_monolithic7/lib/python
export LD_LIBRARY_PATH=/media/sam/trainer/build2/USD_python2.7_monolithic7/lib:/media/sam/trainer/build2/python2.7env/lib:/media/sam/trainer/build2/Arnold-7.2.1.0/bin
export ARNOLD_PLUGIN_PATH=/home/sam/Documents/git/arnold-usd/procedural
export PXR_PLUGINPATH_NAME=/home/sam/Documents/git/arnold-usd/plugin
for i in $(seq -f "%05g" 1010 1010)
do
LD_PRELOAD='/media/sam/trainer/build2/Arnold-7.2.1.0/bin/libai.so:/media/sam/trainer/build2/python2.7env/lib/libpython2.7.so.1.0' \
kick -i /media/sam/data/ALab2/ALab/entry.usda -c /root/camera01/GEO/renderCam_hrc/renderCam_buffer/renderCam_srt/renderCam \
-frame ${i} -r 1920 1080 -gpu 0,1 -as 8 -device cpu \
-t 48 -der -dw -dp -td 4 -trm 3 -dif 2 -spc 4 -ds 4 -ss 4 -ts 2 -o kick-test003.${i}.exr | tee log-kick-test003.$i.txt
done
I get the PNG below after 5 hr 24 mins
of note
00:00:04 2969MB | rendering image at 1920 x 1080, 8 AA samples
00:00:04 2969MB | AA samples max <disabled>
00:00:04 2969MB | AA sample clamp <disabled>
00:00:04 2969MB | diffuse samples 4 / depth 2
00:00:04 2969MB | specular samples 4 / depth 4
00:00:04 2969MB | transmission samples 2 / depth 3
00:00:04 2969MB | volume indirect <disabled by depth>
00:00:04 2969MB | total depth 4
00:00:04 2969MB | bssrdf samples 2
00:00:04 2969MB | light <using per light samples>
00:00:04 2969MB | transparency depth 10
Comparing a render from the following .zip file
https://d2k39ng9pbbkxu.cloudfront.net/ALab.zip
Provided by Dreamworks
I get the following from Arnold USD
In a little under an hour
But from Moonray I get the following
in a little under 30 minutes
log: stoatrender_log.1007.txt.zip
Can you explain why there is a very strong light source with the Arnold render?
The issue with the green fur is less important than the number of bounces and the shadowing.
This is using the high resolution textures
with the following script
#!/usr/bin/env bash
# -as %d Anti-aliasing samples
# -asmax %d Anti-aliasing samples maximum (for adaptive sampling)
# -af %s %f Anti-aliasing filter and width (box triangle gaussian ...)
# -asc %f Anti-aliasing sample clamp
# -c %s Active camera
# -sh %f %f Motion blur shutter (start end)
# -fov %f Camera FOV
# -e %f Camera exposure
# -ar %f Pixel aspect ratio
# -t %d Threads
# -device %s Rendering device (cpu|gpu)
# -gpu %s Enabled gpu devices
# -gpu_warm Run the gpu cache warming pre-process
# -bs %d Bucket size
# -bc %s Bucket scanning (top left random spiral hilbert)
# -td %d Total ray depth
# -dif %d Diffuse depth
# -spc %d Specular depth
# -trm %d Transmission depth
# -ds %d Diffuse samples
# -ss %d Specular samples
# -ts %d Transmission samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl08_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl01_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl02_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl04_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl03_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment01_0001/lightrig01/lights/lgt_miniLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/lights/lgt_owl_light_sphere: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment01_0001/lightrig01/lights/lgt_buttonLight: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment01_0001/lightrig01/lights/lgt_miniLight01: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment01_0001/lightrig01/lights/lgt_buttonLight01: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment01_0001/lightrig01/lights/lgt_buttonLight03: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment01_0001/lightrig01/lights/lgt_buttonLight02: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment03_0001/lightrig01/lights/lgt_redLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment03_0001/lightrig01/lights/lgt_screenLights01: quad_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/bench01/shelf01/electronics_ham_equipment03_0001/lightrig01/lights/lgt_screenLights: quad_light using 1 sample, 2 volume samples
# 00:00:16 2893MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl05_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl06_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_electronics01_0001/wall_dressing01/decor_party_lights01_0001/lightrig01/propagated/lgt_owl_light_sphere_owl07_M_geo: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/wall_dressing01/toy_curly_surgery_0001/lightrig01/lights/lgt_red_light: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment01_0002/lightrig01/lights/lgt_miniLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment01_0002/lightrig01/lights/lgt_buttonLight03: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment03_0002/lightrig01/lights/lgt_redLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment01_0002/lightrig01/lights/lgt_buttonLight02: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/lights/lgt_greenStatusLight02: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/buttons/lgt_redBigButton: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/lights/lgt_greenStatusLight04: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment03_0002/lightrig01/lights/lgt_screenLights: quad_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/buttons/lgt_redButton01: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/lights/lgt_greenStatusLight01: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/buttons/lgt_redButton03: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/buttons/lgt_redButton02: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment03_0002/lightrig01/lights/lgt_screenLights01: quad_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment01_0002/lightrig01/lights/lgt_buttonLight01: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/lights/lgt_greenStatusLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_audio_generator01_0001/lightrig01/lights/lgt_noiseButtonLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/lights/lgt_greenStatusLight03: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment01_0002/lightrig01/lights/lgt_miniLight01: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/screen/lgt_LightAreaDisk: disk_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/lightrig01/lights/set/exterior/lgt_sun_distant: distant_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/lightrig01/lights/set/interior/lgt_fill_top: quad_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/lightrig01/lights/set/exterior/lgt_env_dome: skydome_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_audio_generator01_0001/lightrig01/lights/lgt_powerButtonLight: point_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/workbench_shelf02/electronics_ham_equipment01_0002/lightrig01/lights/lgt_buttonLight: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/alab_set01/lab_workbench01_0001/workbench01/benchtop03/electronics_oscilloscope01_0001/lightrig01/buttons/lgt_redButton: cylinder_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/lightrig01/lights/set/exterior/lgt_sun_area_02: quad_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/lightrig01/lights/set/exterior/lgt_sun_area_01: quad_light using 1 sample, 2 volume samples
# 00:00:16 2894MB | /root/lightrig01/lights/char/lgt_bounce_goggles: quad_light using 1 sample, 2 volume samples
# 00:00:16 2902MB | /__Prototype_302/lightrig01/TV/lgt_TV_Screen_Outer: quad_light using 1 sample, 2 volume samples
# 00:00:16 2902MB | /__Prototype_302/lightrig01/TV/lgt_TV_Screen_Inner: quad_light using 1 sample, 2 volume samples
# 00:00:16 2902MB | /__Prototype_302/lightrig01/TV/lgt_TV_Inner_Components: quad_light using 1 sample, 2 volume samples
export [email protected]
export FLEXLM_BATCH=1
export FLEXLM_DIAGNOSTICS=3
export ADCLMHUB_LOG_LEVEL=T
export PATH=${PATH}:/media/sam/trainer/build2/Arnold-7.2.1.0/bin:/media/sam/trainer/build2/USD_python2.7_monolithic7/bin:/media/sam/trainer/build2/python2.7env/bin
export PYTHONPATH=$PYTHONPATH:/media/sam/trainer/build2/USD_python2.7_monolithic7/lib/python
export LD_LIBRARY_PATH=/media/sam/trainer/build2/USD_python2.7_monolithic7/lib:/media/sam/trainer/build2/python2.7env/lib:/media/sam/trainer/build2/Arnold-7.2.1.0/bin
export ARNOLD_PLUGIN_PATH=/home/sam/Documents/git/arnold-usd/procedural
export PXR_PLUGINPATH_NAME=/home/sam/Documents/git/arnold-usd/plugin
LD_PRELOAD='/media/sam/trainer/build2/Arnold-7.2.1.0/bin/libai.so:/media/sam/trainer/build2/python2.7env/lib/libpython2.7.so.1.0' kick -set option.light_samples 2
for i in $(seq -f "%04g" 1007 1007)
do
LD_PRELOAD='/media/sam/trainer/build2/Arnold-7.2.1.0/bin/libai.so:/media/sam/trainer/build2/python2.7env/lib/libpython2.7.so.1.0' \
kick -i /media/sam/data/ALab2/ALab_AL/ALab/entry.usda -c /root/camera01/GEO/renderCam_hrc/renderCam_buffer/renderCam_srt/renderCam \
-frame ${i} -r 1920 1080 -gpu 0,1 -as 8 -device cpu \
-set options.texture_max_memory_MB 40000 \
-set options.light_samples 2 \
-set /root/lightrig01/lights/set/interior/lgt_fill_top.samples 4 \
-set /root/lightrig01/lights/set/exterior/lgt_sun_area_01.samples 4 \
-set /root/lightrig01/lights/set/exterior/lgt_sun_area_02.samples 4 \
-set /root/lightrig01/lights/set/exterior/lgt_env_dome.samples 4 \
-set /root/lightrig01/lights/char/lgt_bounce_goggles.samples 4 \
-t 48 -der -dw -dp -td 5 -trm 2 -dif 2 -spc 2 -ds 2 -ss 2 -ts 2 -v 4 -o kick-compare_AL_native007.${i}.exr | tee log-kick-compare_AL_native007.$i.txt
done
log-kick-compare_AL_native007.1007.zip kick-compare_AL_native007.1007.zip
01:25:41 31769MB | -----------------------------------------------------------------------------------
01:25:41 31769MB | scene creation time 0:03.84 machine utilization (11.67%)
01:25:41 31769MB | unaccounted 0:03.83
01:25:41 31769MB | -----------------------------------------------------------------------------------
01:25:41 31769MB | frame time 1:25:37.97 machine utilization (90.55%)
01:25:41 31769MB | node init 0:13.50
01:25:41 31769MB | sanity checks 0:00.09
01:25:41 31769MB | driver init/close 0:00.02
01:25:41 31769MB | rendering 1:25:24.14
01:25:41 31769MB | subdivision 0:00.52
01:25:41 31769MB | threads blocked 0:00.52
01:25:41 31769MB | mesh processing 0:00.23
01:25:41 31769MB | threads blocked 0:00.52
01:25:41 31769MB | accel building 0:01.24
01:25:41 31769MB | importance maps 0:00.56
01:25:41 31769MB | output driver 0:00.05
01:25:41 31769MB | pixel rendering 1:25:21.50
01:25:41 31769MB | unaccounted 0:00.30
@kikou do you have a good approach for diagnosing what is the cause of the noise circled in red?
While just using kick
?
Here are 5 frames ping ponged with the above settings
Render times are about 2 hours wall clock time on a EPYC 7402P 24 core 48 thread CPU
https://user-images.githubusercontent.com/86946/232618169-4bc0e0d4-d4e0-42a1-b6cf-a0ba2da4960a.mp4
Log attached for from 1007