Status of Anisotropic Shading

Hi I’m currently learning the Blender code base and I’ve been researching into the idea of creating a toolset for painting/sculpt tangents that can be used for anisotropic reflectance shaders. The toolset would also handle Normals due to their close relation.

I’ve just been looking at the code and can see that the Anisotropic Shader aren’t even using the anisotropic parameters. The Anisotropic BSDF isn’t even an option anymore in the Shader Editor anymore.

Will anisotropic shading be supported in the future? If so in what capacity? Will I be wasting my efforts continuing with this venture?

Here are the ideas that I was jotting down this morning.

Tangent Painting/Sculpting Tool Ideas

Image Editor

Operator: Convert Tangent Texture to flow-map or anisotropic direction

Operator: Convert gray-scale height map to Normal Map.

Tools: Various tools for painting tangents.

  • Tangent Stroke Brush

  • Tangents from spline

  • Draw closed shape. Tangents will be created by projecting boundary points to a center line, in a direction normal to the boundary. Useful for creating wood patterns; useful for creating anisotropic gradients. We typically have radial, linear gradients but nothing in between.

Shader Editor Nodes

Extract tangent from UV Space texture

Either implemented as a texture socket expansion to the Tangent node OR a new node entirely.

Convert TBN Texture node

Will convert tangents normals and bi-tangent textures to other texture types. Could output a tangent texture to a flow map or anisotropic direction map.

3d Viewport

Visualize Tangent, Bi-tangents, alongside Normals

Paint/Sculpt Tangent Bi-Tangents and Normals directly on a mesh

3 Likes

Sounds interesting. I don’t have much to add except to say that anisotropic bsdf isn’t yet supported in EEVEE, that’s why it doesn’t show in menus when you are in eevee, if you switch to cycles it does show and work.

Thanks for your reply. Yes I forget to mention that I understand it’s not supported in Eevee. I’m hoping to get an understand of the future of anisotropic shading support for it though. Maybe I should have put my post in the Cycles section.

I just tested again and can see that Anisotropy is working in the Principle BSDF but the roughness setting has to be in the middle range near 0.5 to actually see anything. Even at that range the reflection is very faint.

Edit: Ignore my last comment. I just realized it looks faint for non-metallic materials. I’m just using it wrong I guess.

Regarding the code. I think I must be looking at the Eevee implementation. I’m gpu_shader_material_principled.glsl. The anisotropic parameters aren’t used there. Can somebody point me to the Cycles implementation?

Do you think there would be a possibility to get some kind of visualization of tangents in material preview? It’s a bit intensive on the CPU using Principle BSDF and cycles for the purpose of visualizing the effects of the tangents.

Sorry I just wanted to clarify that I mean it’s not available in 2.93 alpha. So just want to know the plans for it, going forward.