Question about the normal of points and vertices in Houdini.

   1314   4   0
User Avatar
Member
20 posts
Joined: June 2019
Offline
Hey folks.

When I create a box, although there is no @N of points or vertices in the spreadsheet, according to the result of the viewport, Houdini performs shading according to its default vertices normal. After this step, if I add a point normal to the box, it will be based on point normal shading. If I add vertices normal to the box, it will be based on vertices normal shading. Does this mean that Houdini will detect whether the last normal in the network is points or vertices, and then use it to override the original default selection.

In addition, my problem is that after I create a point normal for this box, if I then create vertices normal for it, I find that the point normal I created before will disappear in the spreadsheet. And vice versa. Point normal will replace my previous vertices normal. Does this mean that vertices normal and point normal cannot exist at the same time?

Thanks
User Avatar
Member
7770 posts
Joined: Sept. 2011
Online
ILIAZHAO
When I create a box, although there is no @N of points or vertices in the spreadsheet, according to the result of the viewport, Houdini performs shading according to its default vertices normal. After this step, if I add a point normal to the box, it will be based on point normal shading. If I add vertices normal to the box, it will be based on vertices normal shading. Does this mean that Houdini will detect whether the last normal in the network is points or vertices, and then use it to override the original default selection.

Houdini will use the attribute normal if present for shading, otherwise it will compute vertex normals on the fly.

ILIAZHAO
Does this mean that vertices normal and point normal cannot exist at the same time?

Correct, only one class of normal can be present at a time. Different meshes can have different class normals if they are packed separately.
User Avatar
Member
8554 posts
Joined: July 2007
Offline
jsmack
Houdini will use the attribute normal if present for shading, otherwise it will compute vertex normals on the fly.

to expand on this, the automatic normal computation is not arbitrary, you can control it in a few places:

in the Viewport:
- Display Options/Geometry/Normals (allows for defining them as Point or Normal and also Cusp Angle)
- in case it is set to Vertex you can further override Cusp Angle using vm_cuspangle detail attribute which can be added using Visulize SOP

in Mantra:
- you can add vm_addnormalsto and vm_cuspangle onto your object to control the automatic normals for render

all those apply only if geometry doesnt have normal attribute as jsmack mentioned
Edited by tamte - June 13, 2022 19:10:29
Tomas Slancik
FX Supervisor
Method Studios, NY
User Avatar
Member
20 posts
Joined: June 2019
Offline
Ah, thank you. That's clear.
User Avatar
Member
273 posts
Joined: Nov. 2013
Offline
Worth mentioning also that primitive normals applied to geometry don't render correctly in the viewport unless the auto generated normals are set to vertex. I'm not sure if that's a bug or not. Most likely primitive normals are not directly supported by the viewport renderer.
Edited by antc - June 14, 2022 12:25:51

Attachments:
normals.gif (156.5 KB)

  • Quick Links