← All ideas
  • Published 29 Mar 2023

Per-Object Backface Culling (Viewport and Workbench)

I propose adding the option to enable or disable Backface Culling for individual objects under the Object Property tab. Blender Backface Culling Concept.png Currently, in Solid Shading Mode, users can enable Backface Culling (via Viewport Shading) for the entire scene, but there is no way to control which objects have Backface Culling applied. This can be limiting for artists and designers who require selective control over object visibility while working with Studio/MatCap/Flat lighting. This also applies to the WorkBench renderer.

If it were to be implemented, I'd recommend having Backface Culling enabled by default, and allow for users to disable it where they see fit, as is Shadows.

100%

Development Status: Open

Upvote 9 Downvote 0
corst
29 Mar 2023

2 Comments

testure

there's a potential performance ramification here that a lot of users may not be aware of- backface culling is a shader/material specific instruction, which is why the option is currently available per-material and not per-object.

I can easily envision a situation where a user might think that enabling backface culling on an object with 300 materials will improve their viewport performance, where in reality what they've done is created (internally) 300 new variants of the same shader that can no longer be batched into the same drawcalls as the original, meaning their scene would actually go slower than if backface culling was not enabled.

The more direct way to solve the problem would simply be to manually make a material variant for your object and disable backface culling and use it on objects that need to be backface culled. To me this isn't really any different than saying "I have a bunch of red objects and if I want to make them blue I want a checkbox to make them blue", the obvious answer would be "so go make a blue material and use it?".

1
testure

The issues in gamedev are that we're not interested in seeing the backfaces ever

I spent 15 years working in gamedev and I disagree completely. You're welcome to your opinion, but you're presenting it as if you're the elected representative of all gamedev artists, which is not the case.