Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add material quality setting #31

Open
tdapper opened this issue Oct 24, 2020 · 4 comments
Open

Add material quality setting #31

tdapper opened this issue Oct 24, 2020 · 4 comments
Labels
enhancement New feature or request

Comments

@tdapper
Copy link
Contributor

tdapper commented Oct 24, 2020

The other Laubwerk plugins all allow to set material quality to high, medium, and low, to allow for object further away to render much faster. Depending on the way the host application works, this is a setting in the browser or in the object attribute panel. I guess in Blender, since materials get updated when model settings are changed, it could go into the object attribute panel.

@dvhart
Copy link
Collaborator

dvhart commented Oct 24, 2020

Thanks for the feedback.

I previously ran a rendering performance test to measure the render time impact of the various material properties. The only one which I found to make a significant difference was the alpha map. Since without the alpha map, none of the others (base, bump, transmission) really made sense.

For the viewport, Blender already provides a means to switch between solid, material preview, and render.

For the render itself, we could add a "use materials" checkbox so distant plants could be rendered with no materials. Would that address this issue?

If not, can you provide more detail about how material settings of high, medium, and low should affect the materials? Which properties are changed?

@dvhart dvhart added the enhancement New feature or request label Oct 24, 2020
@dvhart
Copy link
Collaborator

dvhart commented Oct 24, 2020

Also - my render performance test may not have captured all the relevant information - so if there is a specific scene or conditions I should consider, please let me know. Happy to run more tests.

@tdapper
Copy link
Contributor Author

tdapper commented Oct 24, 2020

The first reason I am suggesting this for is consistency with the other plugins.

The reason we are doing that in the other plugins is not purely rendering time, but it does play a role. Which parameters we include and which ones we don't, depends, to a certain degree, on what the renderer does well. As an example, before PBR became commonplace, we sometimes enabled specular glossiness to consider actual reflections and sometimes we did not, because performance for this varied drastically between rendererers.

Generally the low detail does not include any textures and only has flat colors. That includes the alpha channel (which you found to be influencing rendering performance). Another, aspect beyond rendering times, is texture memory (which in this case would be zero).

For high medium detail, we usually do not include translucency and do not use specular intensity and roughness textures. The former should influence rendering times noticeably, but since translucency appears to be missing (see #35), this is not yet an issue. Specular textures again limit memory use.

Also neither low nor medium detail level typically do double-sided textures (because these almost double texture memory use but don't contribute a lot, when viewed from a distance).

@dvhart
Copy link
Collaborator

dvhart commented Oct 25, 2020

This is really helpful to get started, thanks for the added context.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants