Viewport Normal shading display. Mat network processing of Normal data.

   3883   3   3
User Avatar
Member
361 posts
Joined: June 2013
Offline
Hi
Looking into meddling with shader normals I noticed that the viewport will only display what is put in the Principled Shader normal texture slot.

Normals tab


BaseN input at the bottom


Is there something I can turn on to see those values in the viewport?

In this example I'm showing the same source, an image file, but the data may be fruit of a procedural construction or even a mix of several image files inside Houdini, which result would be nice to see in the viewport.

Moreover and alike the normal maps there's some processes like “Bump to Normal” VOP that seem to work only with image file inputs, not an arbitrary data flows, so any Height data constructed inside Houdini seems to be left out of this conversion tool.

So I'm wondering if I'm missing something or this is just the way it is? For example I could convert this checker pattern to a normal map, but it's not an image file.



Thanks
Edited by probiner - Nov. 27, 2017 17:16:35
User Avatar
Member
8038 posts
Joined: Sept. 2011
Offline
Pins and wires in a shading network are in the mantra domain, so there's no way that can be evaluated in the viewport, without some kind of vex mantra to glsl translator. The texture parameters work because parameters can have tags assigned to them to translate them to the built-in gl shader's parameters.

The bump to normal map vop only works with textures because it is merely applying an image convolution filter. Procedural's don't always exist in an image domain that can have convolution applied. The shading derivatives are required to be computed, which is what the displace node does internally to compute the normals. To compute a normal map from a procedural texture, combine the displace vop with a tangentnormal vop to get the displaced normal from the bump value and convert to tangent space normals. Note: computing a tangent space requires valid uv's.
User Avatar
Member
80 posts
Joined: Feb. 2018
Offline
I'm trying to generate normals from a procedural noise and I found this thread, thanks for the explanation Jsmack.
I'm starting to get my head around it, I tried the method you described and I couldn't figure it out, sorry it's probably just me being stupid.
Could you please elaborate on the last bit, even just a sceenshot of the network would help:

jsmack
To compute a normal map from a procedural texture, combine the displace vop with a tangentnormal vop to get the displaced normal from the bump value and convert to tangent space normals. Note: computing a tangent space requires valid uv's.
3D Freelancer
https://www.artstation.com/ffd [www.artstation.com]
User Avatar
Member
133 posts
Joined: July 2007
Offline
Sorry for the necro-post here but is there any other trick to getting normal or bump maps to show up in the first place in the Houdini viewport with the Principled Shader?
I'm on 20.5.370 (Win 11 Nvidia GPU) and no bump or normal textures seem to have any effect on the viewport with the generic Principled Shader. My models have UVs and displacement via the same shader works fine. I've tried several png and rat files in the same parameter as probiner's image shows and no viewport change whatsoever. I've got a distant light, material applied, etc and mantra renders look correct. I'm going a bit crazy here.

UPDATE: Think Procedural discord helped me out - Switch from Vulkan to OpenGL in Prefs. This got me back normal maps in the viewport but it still shows nothing when using a simple bump map. Maybe that's not supported?
Edited by Len - Oct. 14, 2024 18:12:29
  • Quick Links