I tried to google this topic, and nothing comes out. I would like to know wheather some of you know about this topic anything, and could explain the principels of this shading technique. This technique primises to create shadows on a geometry without a light being present. I cannot imagine how though.
lit sphere shader
Crossbones+ - Reputation: 1718
Posted 01 October 2013 - 05:38 PM
Yeah, like about only 60000 hits.
Looks like using the view normal to lookup into a spherical texture.
Yeah, I'm pretty sure it's ultimately identical to any other kind of environment mapping (cube mapping, sphere mapping, etc.) in that it's ultimately just a function that maps angle to color. The only advantage I see is that it represents the function in a fairly intuitive way (and it's easy to capture from paintings, photographs, etc. of a spherical object) and that it stores the most resolution for angles that point toward the camera. The disadvantage is that it's actually only half of an environment map.
Members - Reputation: 575
Posted 03 October 2013 - 11:35 AM
You may also try searching the term "MatCap" or "Material Capture" as this is very similar (if not the same) as that. Render your lights and material to a sphere, then use that resulting image as your lighting environment. Essentially you are precomputing light+material interaction for lights fixed to the viewpoint.
Crossbones+ - Reputation: 3467
Posted 03 October 2013 - 01:50 PM
Anyway. Using the view space normal on a sphere (here visualized)
yields the hemisphere map itself.
Using a better model
The shader is quite simple. Ignore z of the view space normal and bring it into texture space.
float2 tex = float2(normal.x, -normal.y) * 0.5 + 0.5; return LookupTexture.Sample(Sampler, tex);Doesn't work that great for a moving camera. The light moves with you. Also this texture has bumps which produces very noticable artifacts. Yeah, limiting, but also very cheap. Could be useful for a fixed camera e.g. some 2.5-D setup I guess.