prman-pixar / RenderManForBlender

RenderMan for Blender render addon

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Different handling of world background color between CPU and GPU

hareurs opened this issue · comments

The rendering results between CPU and GPU are significantly different in terms of the world background color. The GPU would completely ignore the background color and set the pixel values to (0, 0, 0, 0), while in CPU mode the RGB values are set to the defined background color with alpha channel being zero. Also, in the rendered image from the CPU, there is a strange boundary between the object and the background.

System Information:

  • OS: Windows 10 Pro 21H2, Build 19044.2965
  • CPU: 12th Intel Core i5-12400
  • GPU: Intel UHD Graphics 730; NVIDIA GeForce RTX 3600 (used for XPU mode)
  • Blender version: 3.3.7 (hash 659c307f2502 built 2023-05-23 00:32:19)
  • RenderMan version: 25.1

How to Reproduce:

  1. Open scene.blend file.
  2. Go to the panel scene, set the Renderer to be RIS, i.e., CPU mode. Click Render. You would see that the background is red. Save the rendered image.
  3. Set the Renderer to be XPU, i.e., GPU mode. Render and observe the completely black background. Save the image.
  4. Open the saved images with Microsoft Photos. You would see that the image from CPU has a clear red boundary around the cube, while there is no such boundary in the image from GPU.

Supplementary Files:

A zip file can downloaded at https://www.dropbox.com/s/rbriocjmqqggja7/rman_gpu_back.zip?dl=0.
It contains the following files:

  • scene.blend: the scene file.
  • cpu.png: the rendered image from CPU.
  • gpu.png: the rendered image from GPU.

This is a known issue. The world background color currently does not work with XPU, as it requires the use of a display filter. If you need to add a background color afterwards, and you are rendering with XPU, you'll have to add it in post.

Thanks for your prompt reply. Closing this issue now.