Why is there still no light linking in Blender Cycles?

I can’t help but wonder why this isn’t possible in Blender. This is a very important feature that is important when lighting is of immense importance. This feature has been absent for a long time now. I am fully aware of the render layers technique but this is possible in almost every 3d app/ renderer out there.

Is there a reason why this isn’t possible? Or would it be hard to have a addon or script that can make this possible?

1 Like

I am not sure if Cycles render approach allows this.

But besides that I agree light linking would be such a charm as this would be faster than render layers.

1 Like

It’s a render engine specific thing, so no, it couldn’t be done in an addon. That would just add the UI bits. WHY does Cycles not have light linking? Same reason it doesn’t have proper displacement or a texture cache: nobody with the necessary knowledge has gotten around to it.

1 Like

I have an idea of how that can be done but I do not know a bit of coding…

I can imagine it as an lightpath-tag node.
Each object would have tags container, just a variable of digits like “red_highlights” in cycles render Settings same as visibility for diffuse etc…
then we can chose a lightpatch node- there would be tag option to type name of tag, and use it af factor for mixing emision with houldout… Each ray would have to carry tag info of object being shoted (like this ray is diffuse and since it touched ti\his object it is red_highlights) so it would probably slow down cycles so maybe tagged rays would be an option to turn on or of… Just an idea…

everybody has their “very important feature” that isn’t possible in blender.

The blender foundation can only do one(or three or sometimes five) at a time

though isn’t there a “light lister” add on that does this already?

We use a renderer called, Corona where I work, its a unbiased pathtracer build on top of embree (so superficially similar to cycles) and it supports light linking. so its not fundamentally impossible anyway :slight_smile:

It’s just another one of those things that stops me from being able to sell blender as a tool that can stand toe to toe with something like max or maya for tv animation.

1 Like

2 methods of constraining lighting, both available since Blender 2.4x:

1 Like

With cycles? When I tested it it did not work hence the workflow to use different render passes.

This isn’t about personal needs. This is something that should have been there from the get go. Every other app/renderer has this. Sometimes, little things like this is what makes an app well rounded and proper. People have been asking for this since cycles was introduced. Its one of those simple but very important things that professionals need and I think without this, any lighting artist out there will drop Blender if they noticed this simple feature was absent. They are focusing on all the big features for cycles and forgetting those tiny little stuffs that are vital in achieving good renders and saves time.
Most professionals need this in order to light a scene properly. Lighting is the most important aspect of any good render. If u have the best materials/textures and your lighting sucks, the render is dead.

Blender devs should not overlook lighting techniques and features, they are also important.

I was about to ask the same thing. Isn’t Corona similar somewhat to Cycles and u can include and exclude using lights without render layers work around. It’s kinda weird thinking about it. I actually stumbled on this when trying out Blender with corona. No way to use lights to include/exclude objects. I don’t know if there can be maybe a capsule or box u can put the objects and light/light emiting mesh in and tell the light to only render those objects or something like that. Programming isn’t my field unfortunately. I appreciate everything the devs are doing but I feel this should be looked into. This is not going to be very nice for those who pay a lot of attention to lighting and undermines Blender as a professional 3d rendering software.

1 Like

In the meantime, you can block lights from one area of the scene from illuminating another area by placing a wall that’s invisible to some light paths such as camera rays.

This impacts all lights though, but I believe there’s other tricks you can add to it such as making the wall material transparent in all cases if the normal points in a certain direction. I would otherwise agree if you’re talking something like the ‘group only’ lighting you can use with the old internal engine (it should be possible to categorize the lightpaths based on what light or emission material it came from).

The great thing about open source development is that we can do what we want. There is no real life pressure to program features that are “industry standard”. We don’t need those, because some people are going to donate anyway, no matter what. It’s easy. I can’t imagine how hard it is to create programs that need to have certain features. Probably not cool at all. We open source developers want to relax and get money from less work. It’s better that way. I mean who wants to work more?

Both do not work with Cycles. Light linking is a feature I’m also longing for. I hope this will be put on the BI’s agenda soon…

1 Like

I agree with you. Big feature of Cycles is already really nice: we have volumetrics, motion blur, render passes, GPU, OSL.

I’m working with Arnold at work, not for the quality but for the small stuff that makes the render easy to work with. The only difference with Cycles is indeed not the quality, probably not either the speed but features like light linking, light filter and custom AOV. “Small stuff” yes, but I’m not sure that’s easy to do and BI needs people to work on it. Implement those features in the light path is a good idea.

1 Like

… You do know that the pay you get for open source development if at all is far less than a similar position at a regular company? Following your argument they’re doing more work for less money than the other way around.

OP didn’t mention Cycles. Also, if these 2 options are made to work in Cycles is this a solution?

For me that would be a solution :slight_smile:

No, BI’s options are not user friendly at all.
Instead of this lamp illuminates this layer only and this material is illuminated by this group of lamps, it should be the lamp illuminates this group of objects only or theses materials only.

We shouldn’t use Blender’s layer system anymore. Nodes wasn’t available at this time, there is better workflow with nodes now.

I do mainly product rendering and sometimes I want to place a light only on a certain object.

While light layer and group can work - I think for a single object making a group seems to be not a logical step.
Ideally you want to link a light to any single object.

Layers work but then instead of linking two objects I start sorting my scene based on layers.
So you see it gets more complicated needlessly.

Claas

I know the AOV stuff would be a bit involved as a project (as it’s been mentioned that it would require a complete rewrite of the way Blender handles render-passes, which isn’t the fault of Cycles by the way). The stuff relating to the lights may be a bit easier though.