Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PBRT hangs while rendering certain scenes with subsurface materials from a certain sample rate and higher #416

Open
wvierber opened this issue Mar 6, 2024 · 0 comments

Comments

@wvierber
Copy link

wvierber commented Mar 6, 2024

I'm exploring the possibilities to render scenes using subsurface materials. In this endeavour, I stumbled upon PBRT hanging, not continuing with the rendering, without any error message or other direct indication which could cause this. This time counters just keep increasing while there is no progress and all but two threads stopped.

After some trials, I found out that this occurs at certain sample rates and is also affected by the presence of certain shapes (the vertical plane) in the scene, and on top of this is dependent on the subsurface properties of the material. I'm especially surprised by the big difference in sample rate between the two material properties (skin and outercortex) that can be rendered.

Below and attached you can find the used scene.zip and a summary of my observations:

Sample rate Material properties Vertical plane? Hangs?
10000 skin No No
(not reached) skin No Yes
50 skin Yes No
60 skin Yes Yes
10000 outercortex No No
(not reached) outercortex No Yes
3000 outercortex Yes No
4096 outercortex Yes Yes

Thanks for developing PBRT and possibly clarifying this behaviour of the software!

# Top view over complete area
LookAt 0 0 10  # eye
       0 0 0  # look at point
       0 -1 0    # up vector
Camera "perspective" "float fov" [45]

Sampler "halton" "integer pixelsamples" [4096]

Integrator "volpath"
  "integer maxdepth" [50]

Film "spectral" "string filename" ["../output/out.exr"]
     "integer xresolution" [400] "integer yresolution" [400]
     "integer nbuckets" [25]
     "float lambdamin" [500]
     "float lambdamax" [1000]

WorldBegin

# approximate the sun
LightSource "distant"  "point3 from" [ -30 0 52 ] 
  "blackbody L" [3000] "float scale" [5]

AttributeBegin
  Rotate 90.0 0.0 0.0 1.0
  Translate 0 0 0
  Material "subsurface"
    "spectrum sigma_a" ["./spds/outercortex_absorption.spd"]
    "spectrum sigma_s" ["./spds/outercortex_scattering.spd"]
    "float scale" [1]
    "float g" [0.8]
    "float roughness" [0]
  Shape "plymesh" "string filename" ["shapes/rect_slice.ply"]
AttributeEnd

## VERTICAL PLANE ##

AttributeBegin
  Rotate 90 0.0 1.0 0.0
  Translate -2.2 1 0
  Material "diffuse" "rgb reflectance" [ .01 .01 .01 ]
  Shape "plymesh" "string filename" ["shapes/plane_big.ply"]
AttributeEnd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant