Author Topic: Lights Diffuse & Specular question  (Read 9026 times)

2017-10-16, 14:25:14

mitchino

  • Active Users
  • **
  • Posts: 86
    • View Profile
Is there anyway to have corona lights only affect diffuse or specular or GI like the native c4d lights do? I want a light to produce highlights on a displaced material but not affect the overall diffuse lighting.

2017-10-16, 14:32:29
Reply #1

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Could you give us a more detailed example of what you're trying to achieve (maybe include an image or two?). Then we can help you reach your goal without having to "hack" the lighting :-)

Edit: The thing is, you cannot make the reflection visible in the render (when the light reaches camera), but invisible on other objects (when the light reaches other objects)

2017-10-16, 15:05:17
Reply #2

mitchino

  • Active Users
  • **
  • Posts: 86
    • View Profile
In the native renderer, the lights have check boxes, you can set the light to only affect the diffuse, or specular or GI, or any combination. This facility also exists in Octane, Redshift and Arnold.

I have a surface with displaced details, and I have a light set to give general illumination. I want to add a side light that will accentuate the highlights where the surface is displaced, but I don't want it to add overall illumination to the scene. I was hoping to set the light to only affect specular areas.

It's a very handy/important feature.

2017-10-16, 15:32:38
Reply #3

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12708
  • Marcin
    • View Profile
@mitchino, I am not sure how exactly we should understand your request, but as far as I understand you simply want a light to be visible in reflections, but not in scene illumination (direct, indirect lighting).
Right now I do not have C4D installed temporarily, but here is an example in 3ds Max. You have an "emit light" checkbox in the Corona Light Mtl, and it will make the light visible in reflections, refractions, and directly, but will remove any illumination. Note that this is possible for the Corona Light Mtl, but not for Corona Light objects. Another solution that would do exactly the same thing would be using a Corona Mtl with self-illumination enabled, and nesting it inside a Rayswitch Mtl with the GI slot empty.

Another question is whether you want the reflections of that light to be visible on the surface of all scene objects, which are reflective, or in a single object/material only. The latter would be much more tricky to set up.

Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2017-10-16, 19:08:28
Reply #4

mitchino

  • Active Users
  • **
  • Posts: 86
    • View Profile
I don't really now how to make it any clearer. I'm not interested in whether the light shows as a reflection in a surface. I'm interested in whether the light produces diffuse light, or specular light, or GI light or a combo of these.

This facility also exists with your new friends at vray, ask them to show you ;)

Here's a set of grabs showing the facility in: (L-R) Native, Vray, Redshift, Arnold, Octane

2017-10-16, 19:28:02
Reply #5

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
Thanks for the pictures :-)

Yes, we are aware of the terms diffuse and specular. But unfortunately, we don't distinguish between them in Corona at the moment. After all, they are both the same phenomenon - a light ray bouncing off of a surface. And if you have a more complex reflectance model, you might not even be able to say, what "type" of reflection the given ray used.

So this is why we tried to ask you what you want to achieve rather than what feature you would like to have implemented. Sometimes, you can use a feature that you didn't know about to achieve your artistic goal.

If you really want that diffuse/specular switch on light emitting objects and materials, I'm afraid you'll have to wait until it's added to the Corona core. The core devs would probably know more about whether this is being planned or not.

2017-10-16, 19:32:00
Reply #6

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
I'm not interested in whether the light shows as a reflection in a surface.

Yes, you actually are :-) When the light shows as a reflection in a surface, that would be your "specular" reflection. If you can see the light diffusely reflected from a broader area, that's "diffuse" reflection.

2017-10-16, 20:32:36
Reply #7

mitchino

  • Active Users
  • **
  • Posts: 86
    • View Profile
Here's a pic showing very roughly what I'd like to achieve - from top to bottom:

Pic 1 Light from above, diffuse and specular
Pic 2 Light from below, diffuse and specular
Pic 3 Both lights together, diffuse and specular
Pic 4 Light from above with diffuse and specular, light from below specular only

I just want the second light to pick out some highlights on the displaced surface, but don't want it to change the overall lighting.

2017-10-16, 20:34:42
Reply #8

mitchino

  • Active Users
  • **
  • Posts: 86
    • View Profile
It's all do-able in post using multipass, but I was hoping to achieve it 'in camera'.

As I understand it, the switches in the light parameters in other renderers are more to do with the materials than the lights. If the only the diffuse switch is on, then the light will only affect the diffuse channel of the material, if only the specular switch is on the light will affect the specular or reflection channel of the material.
« Last Edit: 2017-10-16, 21:47:01 by mitchino »

2017-10-16, 21:53:03
Reply #9

burnin

  • Active Users
  • **
  • Posts: 1532
    • View Profile
Rephrase...

Is limiting/omitting emissions first/direct rays from diffuse channel not implemented or not possible in corona?

Omitting GI (Diffuse Secondary rays/Primary bounce/Indirect light) is possible using Corona Composite Tag.
But would also like to have the ability to control direct light implemented for rendering process. In both, Corona Compositing Tag and Corona Light object.

Would be great time saver (instead of extra post pro/compositing work).


Addendum / Note to self:
& THAT's WHY RAY SWITCHER MATERIAL IS HERE!
« Last Edit: 2017-10-17, 13:33:13 by burnin »

2017-10-17, 11:00:57
Reply #10

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12708
  • Marcin
    • View Profile
Here's a pic showing very roughly what I'd like to achieve - from top to bottom:

Pic 1 Light from above, diffuse and specular
Pic 2 Light from below, diffuse and specular
Pic 3 Both lights together, diffuse and specular
Pic 4 Light from above with diffuse and specular, light from below specular only

I just want the second light to pick out some highlights on the displaced surface, but don't want it to change the overall lighting.

This is exactly what I showed in my 3dsmax example. Looks like in C4D it is a bit more complicated, but also possible:
-a Corona Light or Corona Light Mtl with the default settings will affect both the "specular" and "diffuse"
-a Corona Mtl with self illumination enabled nested in a RaySwitch material with empty GI slot will affect "specular" only, and not "diffuse"
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2017-10-17, 13:26:05
Reply #11

burnin

  • Active Users
  • **
  • Posts: 1532
    • View Profile
Yes, it works.


Against the philosophy of simple & fast workflow, but it works. Is simpler & probably more beneficial when working in node environment.
Just gotta get used to it.

Thank you all :)
« Last Edit: 2017-10-17, 13:30:39 by burnin »

2017-10-17, 13:35:06
Reply #12

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12708
  • Marcin
    • View Profile
As I said, in 3ds Max there is a checkbox for this in the Corona Light mtl. It will probably come to the C4D version at some point as well.
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us

2017-10-17, 14:36:38
Reply #13

houska

  • Former Corona Team Member
  • Active Users
  • **
  • Posts: 1512
  • Cestmir Houska
    • View Profile
As I said, in 3ds Max there is a checkbox for this in the Corona Light mtl. It will probably come to the C4D version at some point as well.

It is present even in C4D. Just not in the Corona Light. Only in the material.

2017-10-17, 15:05:36
Reply #14

maru

  • Corona Team
  • Active Users
  • ****
  • Posts: 12708
  • Marcin
    • View Profile
Ah, right! It's there - I didn't notice the "advanced" tab in C4D, sorry for that!
So using the rayswitcher is not needed. You only need to turn on/off the right checkboxes in the Corona Light mtl.
Sorry for the confusion...
Marcin Miodek | chaos-corona.com
3D Support Team Lead - Corona | contact us