0
$\begingroup$

I have a scene which must appear as if it's lit by a very small mesh lamp. To optimize performance, what I'm trying to do is place a point lamp inside of the mesh lamp, and have the point lamp shine through the mesh lamp by having the mesh lamp's back faces be transparent. However, in the reflection of the lamp on a glossy material, the point lamp shines through the mesh lamp:

Point lamp shines through

I've tried making the point lamp invisible to glossy surfaces via Ray Visibility, and having the mesh lamp only be visible to glossy surfaces and the camera. While this works, it makes rough glossy surfaces quite noisy, partially defeating the purpose of using a point lamp instead of a mesh lamp in the first place:

Noisy glossy surface

Are there any other solutions?

.blend file

$\endgroup$
  • $\begingroup$ Why don't you simply use the sphere with no lamp ? $\endgroup$ – lemon Aug 7 '16 at 16:37
  • $\begingroup$ @lemon Small mesh lights are extremely noisy. $\endgroup$ – adroitwhiz Aug 7 '16 at 17:18
3
$\begingroup$

Two possibilities:

  • Remove the glossy ray visibility of the lamp :

enter image description here

  • Or you can set up the sphere nodes like this :

enter image description here

  • OK, this is what you said in your question... but it works...

| improve this answer | |
$\endgroup$
1
$\begingroup$

I figured it out, with help from @lemon.

What I needed to do was prevent the mesh lamp from casting shadows, by either:

  1. Having a simple emission shader (no trickery in the material whatsoever, just an Emission node connected directly to the Output node) as the mesh lamp's material, but also disabling shadow ray visibility on the mesh lamp.

  2. Using this node setup on the mesh lamp: Mesh lamp node setup

| improve this answer | |
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.