Jump to content

Normals/Shading Issue


HainesAJ

Recommended Posts

I'm having trouble figuring out this phong/normals issue. The picture shows it best but I extruded a shell to give it some depth. On the edge I pointed the normals where I thought they needed to be but I'm still getting a weird shading issue. I'm not sure whats causing it. Any ideas how to fix this?

Thanks

AJ

Screen Shot 2017-04-21 at 5.01.32 PM.png

Screen Shot 2017-04-21 at 5.03.57 PM.png

Link to comment
Share on other sites

put this point wrangle just before the extrude:
int neighs = neighbourcount(0, @ptnum);
if(neighs < 3)
{
    removepoint(0, @ptnum);
}

 

deletes the points (procedurally) so you get clean geo but doesnt fix the rendering issue. This comes from cusping the polygons. Do you need to cusp them?

EDIT:
fixing the geo with fuse nodes helps. see file

SphereBoole_EdgeProblem_v2.hipnc

Edited by 3dome
update
Link to comment
Share on other sites

It's a shading error caused by light direction trying to be perfectly perpendicular to surface. Add a bit of inset for your extrude node or move light/geometry by a small distance from origin or try spherical light.

Edited by f1480187
typo
Link to comment
Share on other sites

@3dome Wow that solution work pretty perfectly. Thanks so much. I'll have to look more into the science behind that neighborcount function, also the fuse node is new to me as well. All good stuff. Yeah the cusping is preferred. Thanks again for the help!

@f1480187 I see what you are saying. After 3domes fix the light didn't need to be moved after all. Thanks for the suggestions though:)

Link to comment
Share on other sites

@HainesAJ, artifacts still there. Try to add a bit of contrast using bottom bar of Render View:

lit_patch.png

Fuse node recomputes affected points's normals by default. That results in slightly randomized normal directions from irregular topology in places where the new normals was computed. Extruding by such normals will output side surface non-perpendicular to light direction, reducing most of the artifacts. That's an equivalent of adding a bit of inset to extrude:

fuse.gifinset.gif

The difference is that the bumped surface will face the light and be lit, sunken surface will backface the light and be shaded. Randomized surface will be lit and shaded randomly.

Edited by f1480187
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...