Differences between CPU and GPU with this Volumetric World Texture
Closed, DuplicatePublic


System Information
Kubuntu Linux 14.04 64bits - GTX 960

Blender Version
Broken: 2.78c - From master hash ba256b32ee5

Short description of error
I get different results between CPU and GPU with the same configuration. In 2.78c with CPU I get a resulting black image. In Blender from master with CPU I get a better result, but apparently without being applied texture.

Exact steps for others to reproduce the error
Open the scene in Blender and compare render results between CPU and GPU.


Sergey Sharybin (sergey) triaged this task as Confirmed priority.

The difference here is caused by different volume samplers used by CPU and GPU. The volume sampler in the file is set to MIS, which is only supported on CPU, GPU is using Distance sampling.

@Brecht Van Lommel (brecht), couple of questions here:

  1. Shall those two methods converging to the same exact result with huge enough number of samples?
  2. Is it indeed a great idea to default to settings which are not supported by all devices?

The two methods are supposed to converge to the same results, but they don't seem to, which is a bug.

Equiangular is much better than distance sampling if you have a (mostly) homogeneous world volume. So for CPU rendering it would not be a great default. Really the proper solution here is to improve the GPU implementation, I have some ideas on how to do that.