Basic IBL Shaders in HLSL

Recently wrote a few shaders in HLSL, only indirect lighting but I think they turned out pretty successful.
I used CubeMapGen to process a specular and an irradiance cube map(16bit) for each HDR lighting probe.
For the specular cube map each lod is increasingly convolved(blurred) representing a range of specular reflection from smooth to rough.
The specular cube sampled using texCUBElod(texture,float4(reflection vector, lod)).
The material roughness drives the lod in this case.
(sorry forgot where I got this light probe from)
The irradiance cube map is the diffused version of the light probe.
It's sampled using texCUBE(
texture, normal vector)


tangent space normal map

roughness map, where black would use the sharpest specular reflection(lod0), and white uses the blurriest(lod7 in this case) 



Opaque Shader
Seen in different light probes and material parameters.






Translucent Shader

Seen from the front and back in a bright and a dark lighting condition.
This uses an addition texture channel used to define thin and thick portions of the model.
The "translucency" is given by sampling the irradiance map in the inverse view coordinate.
float3 diffuse = (frontDiffuse * (1.0f - translucency)) + (backDiffuse * translucency);






Translucent Map
Generated by inverting the mesh normals, baking AO, and inverting the result.
It's not depth in the view vector but approximates diffused depth.


Transparent Shader

For glass. Refraction is just the specular cube map along the refraction vector, but comes with the advantage of easy blurred refracted lighting using the texCUBElod function. Lod in this case is driven by "clarity". The yellow material here has a low clarity using lod ~3.5.



Anisotropic Shader

The specular reflection here is bent away from the eye in the axis of a tangent map. It's a "novel" approach for sure but is pretty good, particularly for micropatterns like the ones shown here; burnished metal and carbon fiber. The red christmas ball less so.
I'll post more on how this works, comparison, and how I author tangent maps.



Tangent Maps



Coated Shader
This one is pretty common but fun none the less. Uses an additional normal map for the under surface. See "fleck" normal maps below.




noise fleck
 fiberglass fleck