Feature suggestion for future updates of LuxCore

General project and community related discussions and offtopic threads.
Post Reply
TStrolia
Posts: 38
Joined: Mon Jun 22, 2020 10:29 am

Feature suggestion for future updates of LuxCore

Post by TStrolia » Thu Aug 06, 2020 7:25 pm

I actually for some reason cannot verify my account on Bounty so I am just going to post here for now, but as a look developer I have a suggestion for something I have not really seen in a whole lot of consumer engines and I think it would be a great addition to lux.

It would be really cool to have a lighting mode override.

I know overrides already exist, but they are limited to a single material that you have to pick yourself. Common practice from my own experience is to not use 1 but 3 materials, your metals and mirrors stay metals and mirrors because you want to see what the specular highlights look like in reflections, your glass stays glass because you want to see how light will pass through the objects and how lit objects behind the glass will appear.

It would be cool to have a button in the overrides for "lighting mode". Basically it could be just a button, with checkbox for "disable specular," just in case you do not need glass or metals or need to conserve computing power due to scene limitations.

The general idea as the way I would love to see it would work as follows:

1. The material ouput node on any material has a new input for "Lighting Mode Override" where you can attatch an alternate node tree which will be used in place of your primary node tree, only while lighting mode is active. If the input is left blank then the material defaults to 50% grey matte material. This way if you want your window to stay glass while in lighting mode you could plug a glass material into the override input which ommits dispersion and roughness as a lighter weight alternative, only while lighting.

2. Caustics is disabled while lighting mode is active.

3. The number of all bounces is set to 4 as there is really no need for more than this just to calculate your lighting. Although, I would not be mad if there was an option to set a custom number of bounces for while the override is active, in case there is ever an instance to use more or less than 4, but I think it would be rare to need more or less than that for setting up lighting.

I know this is one of those "low priority" type suggestions but having gone from tools that let me do this back to the standard rendering work flow, it's like, there's no going back, except I did, and I really miss it. Material overriddes are helpful for this as is but the inability to override some materials and not others is somewhat difficult in certain scenes.

Thank you so much if you got through the whole suggestion, and I know the community on here is small and doesn't necesarily represent the over all userbase but if anyone here likes the idea I would love for anyone who agrees just to throw a comment on here so we can see how many people would also like to see something like this added as a future feature.

User avatar
Dade
Developer
Posts: 4680
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Feature suggestion for future updates of LuxCore

Post by Dade » Thu Aug 06, 2020 9:15 pm

I'm not sure to understand but you are just seeking a special type of preview mode :?:
Support LuxCoreRender project with salts and bounties

TStrolia
Posts: 38
Joined: Mon Jun 22, 2020 10:29 am

Re: Feature suggestion for future updates of LuxCore

Post by TStrolia » Thu Aug 06, 2020 9:28 pm

Dade wrote:
Thu Aug 06, 2020 9:15 pm
I'm not sure to understand but you are just seeking a special type of preview mode :?:
More like an addition to the material overrides properties which you could use in render preview mode. Something that strips away all the overhead from the scene but more specific than just using material overrides which make EVERYTHING in the scene just 1 material. I use material overrides as is right now, but that also means that my glass and metal objects also become the same material as the override. My suggestion is basically to have a second override mode that would be targeted towards lighting where you can pick your override material on a material by material basis, and would override some of the typical render settings like bounces in the interest of render time.

Just a little walk through of how I imagine it working.

I have a scene with 5 objects, all have different materials, some with SSS, some with glossy, some with matte, some metalic and some glass, and lets argue they all have textures and maps all over them.

I want to light the scene, but I still want to see how my glass will look without them becoming clay. On my glass material I create a new glass node, set it to architectural, no dispersion, no roughness, plug it into the "Lighting Mode" input on the output node.

I go to the material overrides panel in blender and turn on "Lighting mode." The glossy, the SSS, the matte, and the mirror material, because there is no material specific material plugged into the "lighting mode" input on the material output nodes will render as 50% grey matte, but the Glass will now render using the architectural glass since I plugged the glass node into "Lighting Mode" input, mentioned in the prior step.

I light my scene.

I disable lighting mode, and the glass and other materials will now render using their normal materials.

It is basically just material override but will let you say on X specific material it will override to Y material instead of saying that EVERYTHING has to have the same overide. And it would have some performance enhancements like disabling caustics, mode specific bounces, etc, so you can say, when I am rendering in lighting mode, I only have what I need to light the scene.

Hopefully that makes sense?

User avatar
Dade
Developer
Posts: 4680
Joined: Mon Dec 04, 2017 8:36 pm
Location: Italy

Re: Feature suggestion for future updates of LuxCore

Post by Dade » Thu Aug 06, 2020 9:43 pm

It is about what "clay render mode" already do, we could have material flag, something like "Don't clay" that will force to use the real material even in clay render mode (so you can mark the glass/mirrors/etc. you don't want to render as "clay"). Anyway, it is technically a BlendLuxCore feature, not a render engine one.
Support LuxCoreRender project with salts and bounties

TStrolia
Posts: 38
Joined: Mon Jun 22, 2020 10:29 am

Re: Feature suggestion for future updates of LuxCore

Post by TStrolia » Thu Aug 06, 2020 9:48 pm

Dade wrote:
Thu Aug 06, 2020 9:43 pm
It is about what "clay render mode" already do, we could have material flag, something like "Don't clay" that will force to use the real material even in clay render mode (so you can mark the glass/mirrors/etc. you don't want to render as "clay"). Anyway, it is technically a BlendLuxCore feature, not a render engine one.
Thats basically exactly it. That alone would be better than what I am doing now. Because if I am lighting an interior, I have to hide my windows right now to let light in from the IBL. Thats fine for the most part but it doesn't give me an accurate idea of how it will reflect onto the windows or on metals without doing a standard render which can take a long time which is why those exclusions are nice.

It also works better for large scale workflows. I know LuxCore isn't yet at a point where it is a go to for large projects or group projects but there is absolutely no reason why it shouldn't or can't be even at it's current stage and I think that not just for individual users but especially teams if they chose to use Lux, passing a scene back to a lighting artist for changes later down the line, that will be very easy. Even just for myself, I did my lighting before I did my materials but after doing the materials I decided I want some changes so going back now means either A) hiding my windows and clay rendering, or B) manually redoing materials on everything except the windows.

I think anyone who has ever used Katana would really like this feature, especially. I would like to see this in cycles also but I feel like the community and priorities and trying to keep everyone happy makes something like this too low of a priority to see happen any time soon. I think given some of the experimental nature of Lux and how excited all of you seem in the development team to implement some of the more industry standard but possibly less conventional features into lux, I think this is probably a more realistic platform to see it first happen in.

User avatar
B.Y.O.B.
Developer
Posts: 3762
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: Feature suggestion for future updates of LuxCore

Post by B.Y.O.B. » Thu Aug 13, 2020 12:22 pm

You can open an issue here with a feature request: https://github.com/luxcorerender/BlendLuxCore/issues

Would it be enough to add a few checkboxes to the override settings, something like "don't override metal", "don't override glass", "don't override emissive materials"?
I'm asking because I'm hesitant to add more sockets to the material outputs, they are already a bit too complicated and crowded for my liking.

TStrolia
Posts: 38
Joined: Mon Jun 22, 2020 10:29 am

Re: Feature suggestion for future updates of LuxCore

Post by TStrolia » Thu Aug 13, 2020 2:49 pm

B.Y.O.B. wrote:
Thu Aug 13, 2020 12:22 pm
You can open an issue here with a feature request: https://github.com/luxcorerender/BlendLuxCore/issues

Would it be enough to add a few checkboxes to the override settings, something like "don't override metal", "don't override glass", "don't override emissive materials"?
I'm asking because I'm hesitant to add more sockets to the material outputs, they are already a bit too complicated and crowded for my liking.
I think dont override checkbox would be perfectly fine in 95% of cases and is better than I have seen in any blender related tools yet so I wouldn't argue.

I think the ideal implimentation but not nesecarily the prettiest I suppose is, if there is an input that could only be enabled if a checkbox is plugged in? I ask this because sometimes its useful to use maybe the texture from the original material on a specific mesh but you dont want ALLLL 20 nodes you made to make that material. You just need to see the image texture or what else. God forbid dispersion glass is involved. But as ideal as that is for functionality I know there are a lot who are already confused by lux so I understand wanting to keep it simple and its definitely a curve for a lot of people.

Edit: I submitted an issue on github.

Post Reply