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

   3405   2   2
User Avatar
Member
337 posts
Joined: June 2013
Online
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
7737 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]
  • Quick Links