Page MenuHome

Blender Internal: Rendered Viewport Preview works incorrectly with light groups
Closed, ResolvedPublic

Description

System Information
Windows 7 64 bit with 64 bit Blender
Nvidia GTX 750Ti

Blender Version
Broken: (example: 2.76.1 034cc85)

Short description of error
Render via F12 works correctly.
But in the viewport with shading set to "Rendered" does not, if you use light groups.
The light vector of the lamp in the group is somehow off.

Scene Content
This blend file shows a monkey with a simple NPR material on it. In the material nodes, you see the two materials
-DiffuseBase: A simple material, only diffuse with 100% intensity, pure white, specular is disabled. Everything else is default.
-SpecularBase: A copy of "DiffuseBase", but it uses the light group "Specular", the "Exclusive" checkbox is checked. (It is meant to fake Specularity, but it only uses diffuse, so it easier to control.)

There are two lights in the scene:
-DirectLight: A hemi. All values are default.
-Specular: A sun lamp. All values are default. It is part of the "Specular" group.
(This way the material "DiffuseBase" is lit by "DirectLight", and "SpecularBase" is lit by "Specular)

Exact steps for others to reproduce the error


Render the scene (F12)
Jump to the second frame (the camera moves to another location) and render again (into another slot).
As you can see, the specular highlights are in the exact same location and did not change with the view angle. This is the correct behavior.

Now use the "Rendered Preview" in the viewport. Move the camera (not the camera object, only your viewport camera, using the middle mouse button) around.
You can see that the highlights move! (Even though they are only using Lambert!)
If you perform certain actions (like jumping to another frame via the left or right-button), the highlights jump back to the correct location, until you move the camera again.