Page MenuHome

Point Density with overlapping volumes doesn't work on GPU
Closed, ResolvedPublic

Description

System Information
Windows 10(64 bit)
AMD Radeon RX 470 4GB

Blender Version
2.78.5 with Hash f02e04f (latest daily build)

Short description of error
Very closely related to bug report T51791 (I reported that yesterday, this issue is already resolved and works in today's build, at least for Volume Absorption and Volume Scatter)
I tried to volume render two objects with overlapping domains on my GPU, each with a Point Density Node(in Object Vertices mode) and a Volume Shader. When looking at the scene in Object Mode with the "Rendered" Viewport setting everything is correct(bottom left), but when actually rendering the scene with GPU, one of the volumes is not visible(top left).

Exact steps for others to reproduce the error

  1. Create a material with a Point Density Node and a Volume Shader, like the node setup from the screenshot above(multiply node is not important, I added it just for better visibility).
  1. Apply the material to a cube, that represents the domain of the volume rendering and place a smaller cube or any other object(even a single vertex is enough) on the inside of the domain cube
  1. In the Point Density node, set the Object reference to the inner object, to use its vertices
  1. Repeat steps 1-3 for a second object, but ensure that each inner object is contained in both domains(to end up with a scene similar to bottom right in the screenshot above) Note: when choosing Volume Absorption or Volume Scatter in step 1, always the inner domain isn't rendered properly, when choosing Emission in step 1, both domains are affected(I think issue T51791 isn't fixed for Emission yet, causing this difference)
  1. now the rendered preview works, but when actually rendering one(both) volume(s) is(are) not rendered correctly

Additional Info:
When using CPU instead, everything works as you can see here(even with Emission):


I used this blender file for testing:

At first I used Blender version 2.78 with Hash e92f235283, but there is an issue that volume rendering in general doesn't work with that version on my graphics card(see bug report T51352, the same thing applies to Volume Absorption and Emission too). This was the reason to use a daily build in the first place and this means I can't test the issue on an official released version.