Point Density doesn't work on GPU
Closed, ResolvedPublic


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

Blender Version
2.78.5 with Hash 85fafcc (latest daily build)

Short description of error
I tried to do volume rendering on my GPU 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, the volume 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). Note: either of Volume Absorption, Volume Scatter and Emission create this error and when just using one of the Volume Shaders without the Point Density, the rendered preview and the actual rendering does work on GPU, so I think the Point Density is the problem here.
  1. Apply the material to a cube, that represents the domain of the volume rendering
  1. 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. now the rendered preview works, but when actually rendering no volume is displayed

Additional Info:
When using CPU instead, it works as intended as you can see here(but it's quite slow for more complex scenes):

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.