The surface shader defines the light interaction at the surface of the mesh. One or more BSDF’s specify if incoming light is reflected back, refracted into the mesh, or absorbed.
Emission defines how light is emitted from the surface, allowing any surface to become a light source.
- Stands for Bidirectional Scattering Distribution Function. It defines how light is reflected and refracted at a surface.
- BSDFs reflect an incoming ray on the same side of the surface.
- BSDFs transmit an incoming ray through the surface, leaving on the other side.
- BSDFs are a type of Transmission, transmitting an incoming ray and changing its direction as it exits on the other side of the surface.
A major difference from non-physically based renderers is that direct light reflection from lamps and indirect light reflection of other surfaces are not decoupled, but rather handled using a single BSDF. This limits the possibilities a bit, but we believe overall it is helpful in creating consistent-looking renders with fewer parameters to tune.
For the glossy BSDFs, the roughness parameter controls the sharpness of the reflection, from 0.0 (perfectly sharp) to 1.0 (very soft). Compared to hardness or exponent parameters, it has the advantage of being in the range 0.0 to 1.0, and as a result gives more linear control and is more easily textureable. The relation is roughly: roughness = 1 - 1/hardness
Currently Blender is coded to use an unsquared model. So if you are using a Roughness Map chances are that the result will not be accurate. To fix this, you can square the texture by connecting the texture to a Math node and either setting it to Multiply and inputing the texture in both input sockets, or using the Power function and setting the second input to 2.