Viewport Normals (aka Autosmoothing)

   8394   22   0
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
Is there a way to set a smoothing angle globally for the viewport?
I mean, so, that if I create a box it will show facetted an a sphere will show smoothed just like the facet sop, but globally, only for the viewport?
The facet tool is great for the finished model but completely awful for working.
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
I'll take that as a “No” :wink:
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Haven't seen that option; you can always submit a Request Feature Enhancement (RFE) in the Support menu above
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
Done
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
Funny note:

You can see exactly what can happen if there is not proper viewport auto smoothing if you watch “lesson 2: UI & modeling” from the first experience videotutorials. At 00:18:11 you hear the words “you can see it is slightly rounded which will make a much better render. Cool!” but the bevel sop is clearly set to Flat. It looks roundish because of houdini's smoothshading wich simply smoothes everything, but it isn't. Good laugh. As long as in doesn't happen in production.
(you can also see how poor the bevel tool handles the t-junction in the middle os the frame, but thats another story… )
User Avatar
Member
4189 posts
Joined: June 2012
Offline
You're slightly mis-interpreting ‘slightly rounded’; Ari isn't talking about the smooth shading of the viewport but the effect of bevel an edge in comparison to a hard edge. i.e. it's not razor sharp anymore.

Smooth shading doesn't ‘simply smooth everything’; it respects the angle of the normals, and if they are aligned the viewport will Gouraud(?) shade between them. If they are perpendicular to the face then obviously they shade accordingly
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
I know he isn't talking about the smooth shading. He is talking about the bevel which is set to FLAT (two sharp egdes instead of one) but he says the result was slightly rounded. This is an error because you cant actually see what is rounded and what is not whith the 80's style gouraud shading. Is the closest top corner of the left box in the screenshot rounded or not?
Edited by - Sept. 13, 2014 16:58:07

Attachments:
autosmoothing.jpg (75.5 KB)

User Avatar
Member
4189 posts
Joined: June 2012
Offline
This is incorrect.

Adding cusped vertex normals changing the smooth shading

Edit: when you edit your reply it's really hard to have a conversations… please state your changes or we have to start always using quotes - which is really boring. IMO

Attachments:
Screen Shot 2014-09-14 at 8.57.11 am.png (414.4 KB)

User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
What exactly is incorrect?

I know you can use a facet op etc. in fact you have to, and you have to keep it at the end of the network. Wouldn't you agree, that it would make things a lot easier, if you had a basic viewport anglebased setting, which you can override with a facet sop when youre done modelling? That is what my original question is about.
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
Sorry for editing so much, forums are usually not a realtime conversation . But I will try to avoid it.
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Wouldn't asking for the BevelSop to recompute normals be more correct than a viewport solution? As the renderer will also use the normals of the model.
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
I would ask for that too, but I'd rather ask to get rid of that gouraud shading technique first. You really only find that in houdini, and I think noone would say this is superior to the methods found in (all) other tools. If you import a CAD model without usernormals in houdini for the first time its quite a shock. I mean you have OGL 3.3, highend workstation graphicscard (still) required, IBL, AO and softshadows for the viewport, but you have to add an sop to get your geometry displayed correctly while it is likely to dynamically change quite a bit while editing. Even the blender guys have build in this functionality this year.
And what about an option to use viewport normal for rendering, or an object level setting that overrides the global even while the geo changes and can still be overridden by a sop? Wouldn't that be better than trying to figure out if the sides of the cube are planar or not as long as there is no operator that exactly does what could be done globally and becomes invalid as soon as you start modeling? I am only asking for an improvement that is well established already everywhere else. No one would suffer from it. There could even be an option to turn it off

Attachments:
Capture-1.jpg (37.9 KB)

User Avatar
Member
4189 posts
Joined: June 2012
Offline
Yes -but that is your original request in post #4, How is this different?
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
Why would it be different, I'm just elaborating my original request because I came across this error in the tutorial which I though was a good support for my case .
User Avatar
Member
4189 posts
Joined: June 2012
Offline
but its not an error - its lacking a feature that you're are requesting
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
The tutor in the tutorial produced an error because of the lack of a feature. That exactly is my point.
User Avatar
Member
4189 posts
Joined: June 2012
Offline
After just listening to the tutorial and have many arguments about viewport shadings over the years, I would consider there is no error. The bevel sop set the flat does not recompute normals and the viewport shades it as expected. The instructor say ‘rounded’ as an expression not a literal interpretation.

I will say that many new users have also pointed out the ‘bad shading’ of Houdini's viewport and after careful examination there is no error. It may not have some ‘standard’ features that users are accustomed too but it is not in error or a bug.
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
I never said the viewport shading is an error. It is simply not good or helpful.

As for the tutorial: If I want a simple chamfer, I do not need any subdivisions, which he deliberately manually set. He says he adds more repetitions to round it out more, which simply is wrong if you know you are in flat mode. “more repetions add more geometry to round it out.” In flat mode. This is an error. More repetitions do exactly nothing in flat mode for the rendering. He thought he would round it because in gouraud shading it is hard to tell. I watched several videos and forgetting to make a correct setting is not uncommon for him. Nothing wrong with that, but with a better shading, he would have seen it.

Edit: ok, lets not say “error” but “mistake” to avoid confusion
User Avatar
Member
4189 posts
Joined: June 2012
Offline
Not sure what to make of this. The viewport consistently shades geometry using normals in a correct manner using OpenGL 3+ on Windows/Linus and GL2 on OsX. It is good, fast and consistent. It's very helpful too.

I did make a mistake though, it's fragment shading not Gouraud.

It's always worth noting that those tutorials are an introduction for beginners, it may not contain to the nth degree of best practices. Yes, your argument of angle based cusping may improve the users ability.

The error is simply in the tutorial, not the viewport. Sorry I misinterpreted your argument but it wasn't clear to me.
User Avatar
Member
378 posts
Joined: Nov. 2010
Offline
Something I have learned during the last 20 years is that mathematical or physical correctness is not a guarantee for usefulness. I really like houdini - it is logical, intelligent (most important) and very elegant in most parts. The viewportshading is the one feature that really stands out. Even if it is mathematically correct, it does nothing to aid or support the user.

If I'm to model something I need to be able to judge the surface. I need to know where creases are and if the belong there. I need to know if a quad is planar or if that black corner is black because of a colored vertex or because of a material or the viewport shading. And I actually don't care what the tech is called as long as it is useful to me
  • Quick Links