View Full Version : light surface shader not visible in reflection
02 February 2012, 05:49 AM
hey guys im having a small issue with a shader thats not showing up in reflections. Im working on this scene for my portfolio and the lights in the image have an mia_material with default settings assigned to it. Then in the additional color slot I have a mia_light_surface shader connected to it to give the lights a glow effect. I just noticed however that the glow the shader gives does not show up in the reflection on the car. What shows up instead is the default grey color that is used in the mia_material color slot. Now sure I can change the color but it still wouldn't glow. Before I was using this shading network I did use just a regular blinn shader with the glow attribute on these lights. The effect did show up in the cars reflection but the overall results were not as good as this method is. So does anyone know a way that I can get the effect from the light_surface shader to be visible in the cars reflection? Thanks.
02 February 2012, 06:15 PM
Is there a reason you're doing glow in the renderer? Glow is done as a post effect by the renderer anyway so you're better off rendering out a floating point image without glow and then creating the glow in whatever compositing package you use. That way you'll have much more control over the glow itself.
As for the reflection you should be able to just use a bright value over 1 in the additional color slot of the light bulb material. The bulb is showing up in the reflection, so it doesn't appear to be a trace depth issue.
02 February 2012, 07:05 PM
What is a floating point and how do you render one out? Sorry I tried google but didn't find anything useful.
02 February 2012, 10:41 PM
Have you raised "refl contrib" in the mia light surface shader? It seems to me that this is the issue.
02 February 2012, 04:51 AM
i was using this method because it gave a nicer looking result than using glow on a blinn material. I did not however consider adding in after the face. Could you explain a little more about rendering a floating point image.
JayHoo: this is the render with the refl contribution raised. again all that shows in the reflection is the mia_material color
02 February 2012, 01:54 PM
With standard 8 bit imaging blacks are RGB 0,0,0 and then gets clipped at RGB 1,1,1 for white. Because of this, when you have any materials or reflections that get brighter than white, they lose their color and get clipped to white.
When you use floating point images you can use RGB values above 1 which not only give you more of a range of colors but also allows you to keep the saturation in your brights. This especially gets noticeable when glow is involved.
There are 2 steps involved in rendering out a floating point image in Maya. First you have to go to render settings/quality/framebuffer and change the Data Type to RGBA (Half) 4x16. Then under your common render settings change the file format to EXR.
Now when you render, bring the EXR into a compositing package and apply the glow.
02 February 2012, 03:11 PM
It seems correct for me. Try raise the refl contr to a value higher than 1.
02 February 2012, 07:12 PM
heres how it looks with the contribution up to 10. it gives a better result but still doesnt match quite right.
heres a result with a blinn material and some glow like i was using before. notice how the glow gets picked up in the reflection. the problem is the image becomes too washed out which is why i chose to switch the the mia_light_surface shader
03 March 2012, 04:27 PM
Why are you doing glows in the render though?
Do a separate render pass for the glow and comp it. Or, do an ID matte for the light reflections in the car and use that as a mask to add glow in post. I would never render glow in the beauty.
03 March 2012, 07:12 PM
No, this is a very valid question and problem. The "mia_lightSurface" shader does not work properly in reflections out-of-the-box. I get this a lot when using it precisely the same way, not to add Glow, but simply to make glass fixtures in my bathroom lights look proper. There's no glow outside of the geometry itself such as with the Glow on a Blinn or native Maya material, which is a post-effect. The LightSurface is a rendertime effect, and looks great!
But it doesn't show up in my bathroom mirrors the way I'm using it either. So perhaps it does need to be linked to the light (area light) directly, after all. I'll test it when I get back to work.
03 March 2012, 11:30 PM
Here's an example:
And an updated one of the same scene:
For these lights I'm using two different mia_mat_x shaders with two different mia_lightsurfaces attached to the Additional Color slots.
Note that the lightsurface is working properly in refractions, but not in reflections. Interesting.
03 March 2012, 11:30 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.