Shading artifacts?

   11151   8   2
User Avatar
Member
6 posts
Joined: April 2008
Offline
Can anyone tell me what causes these artifacts? Most of them look to form triangles bisecting the square polys, but I can't figure out what's doing it.

Attachments:
example.jpg (124.8 KB)

User Avatar
Member
78 posts
Joined: April 2008
Offline
I'm very new to Houdini but that looks like a shading error from smoothing. Try adding a facet SOP and check the creasing angle box and tweak the angle…..
http://www.elementvfx.com [elementvfx.com]
User Avatar
Staff
2591 posts
Joined: July 2005
Offline
eljefe
Can anyone tell me what causes these artifacts? Most of them look to form triangles bisecting the square polys, but I can't figure out what's doing it.

You might try looking at the point normals (display options), or in the spreadsheet.

If the length of the point normal is 0 or, the point normal is pointing in the wrong direction (compared with other polygons), you sometimes get artifacts like this.

You can also try the facet SOP, orient polygons option (then re-compute normals after).
User Avatar
Member
6 posts
Joined: April 2008
Offline
I displayed point normals, and didn't see anything. I then displayed primitive normals, and noticed that the normals for the artifacty polygons were in fact pointing the wrong way. Both solutions presented seem to have solved the problem.

Now that I have got it working, I have a lot more questions about each method:

1) I appended a point sop, checked ‘add normal’, and used the following expression to re-orient my inverted normals

if ($NY < 0, -$NY, $NY)
this seems to have worked, but only so long as the geometry doesn't rotate. What is the best way to re-orient my normals so that I can rotate the geometry without reintroducing artifacts?

2) How are primitive normals calculated? Does it follow something like the right hand rule, based on the vertex ordering?

3) Using the facet sop, there are two options that will fix my problem, cusp polygons and/or remove inline points. Removing inline points seems to decrease the point count by ~12, where as cusp polygons increases the point count and makes the scene port shading a little smoother. Can someone describe what these operations are doing? Online help isn't helping so much =P


Thanks for all your help!

Attachments:
washbasin.hip (135.4 KB)

User Avatar
Member
12457 posts
Joined: July 2005
Offline
You could try to append a Facet SOP and toggle on “Orient Polygons”. This should check for reversed polygons and wind ‘em up the right way - and you won’t have to futz with point-normals, perhaps.
Jason Iversen, Technology Supervisor & FX Pipeline/R+D Lead @ Weta FX
also, http://www.odforce.net [www.odforce.net]
User Avatar
Member
6 posts
Joined: April 2008
Offline
I tried ‘orient polygons’ but it didn't seem to do anything. The flipped polys still pointed in the wrong direction.
User Avatar
Staff
2540 posts
Joined: July 2005
Offline
eljefe
I displayed point normals, and didn't see anything. I then displayed primitive normals, and noticed that the normals for the artifacty polygons were in fact pointing the wrong way. Both solutions presented seem to have solved the problem.

That edge is not going to shade properly (smooth) as is.

You do need to do some clean-up work after the cookie if you want to do such a model. This is very common in all modellers after a polygon boolean.
To make your work less effort reduce the number of divisions on your grid greatly. Actually 2x2 works fine.
Append a Fuse SOP and consolidate points.
Next hit the “s” key in the view port and select all the edges you want to bevel.
Follow with a PolyBevel on the edge selection. Edit to suit.

Another approach is to use NURBs for both the grid and the sphere and use the SurfSect SOP. That's completely procedural.

See the attached file for both solutions.

eljefe
1) I appended a point sop, checked ‘add normal’, and used the following expression to re-orient my inverted normals

if ($NY < 0, -$NY, $NY)
this seems to have worked, but only so long as the geometry doesn't rotate. What is the best way to re-orient my normals so that I can rotate the geometry without reintroducing artifacts?

Simply rotate the geometry AFTER the Point SOP. If that is not doable, the point SOP has a second input that you can use. Inject the Point SOP afterwards and pass a locked off version of your geometry in to the right input that has your Point SOP with the altered normals. Set to Add Normals and put in $NX2 $NY2 and $NZ2 to pass the second inputs normals on to the left input geometry.

eljefe
2) How are primitive normals calculated? Does it follow something like the right hand rule, based on the vertex ordering?

Yep. You don't have direct control over primitive normals.

eljefe
3) Using the facet sop, there are two options that will fix my problem, cusp polygons and/or remove inline points. Removing inline points seems to decrease the point count by ~12, where as cusp polygons increases the point count and makes the scene port shading a little smoother. Can someone describe what these operations are doing? Online help isn't helping so much =P

Turn on the point numbers and look at the edges. That will tell you what you need to know.

Removing in-line points looks at edge angle. If the segment is essentially straight then all the intermediate points are removed. You remove points.

Cusping unshares points when the edge angle is greater than the angle you specify so you end up with more.

Attachments:
washbasin_175.01.hip (169.8 KB)

There's at least one school like the old school!
User Avatar
Member
648 posts
Joined: July 2005
Offline
incidently I would suggest cleaner modelling.
more work initially but saves a heap of time on
glitch-fixing and will be lighter in the viewport.

Attachments:
basin.jpg (28.2 KB)

User Avatar
Staff
2540 posts
Joined: July 2005
Offline
cpb got it right.
Add the PolySplits to future-safe the model if you want to add more tweaks or change the straight counter to an “L”.

I was just being lazy…
There's at least one school like the old school!
  • Quick Links