|
 |
Jim Charter <jrc### [at] msn com> wrote:
> Since we are undertaking the conversation. I would enjoy having you
> sketch this out a little more. I hit a bump, conceptually, when I see
> the term 'shader language'. I am not really sure what it means in
> relation to the texturing that POV uses. You are usually pretty good at
> sorting out these kind of semantic/conceptual tangles for us that are
> less technical. For instance I thought that 'shader language' went
> along with 'scanline rendering'
Shaders are not inherent to scanline-renderers, even though the vast
majority of shaders are used in scanline-renderers (most notably modern
3D acceleration cards support shaders).
The idea of shaders is that instead of having a limited set of hard-coded
algorithms for calculating surface texturing (which was the case with older
renderers, older 3D acceleration cards, and closest to home, is the case
with POV-Ray), the engine offers an efficient language which can be used to
add new algorithms used to determine the color of the surface.
Let's take, for example, the 'finish' block of POV-Ray. While there are
quite many parameters to fine-tune, it's still a fixed amount of possible
parameters. As an example, fresnel reflection is available only because
it has been added to the core code. However, if you would want to test
with some other type of reflection algorithm there just isn't an easy
way (the only way is to modify the source code and recompile the program).
A shader language allows you to create new types of algorithms to calculate
reflection, or almost anything else related to the surface coloring.
There are many nice tricks which can be relatively easily achieved with
shaders (which would otherwise require specific hard-coded support in the
core code) such as furry texturing, subsurface scattering, etc.
Of course it's not like this feature was mandatory for povray, but it
would be nice to have.
--
- Warp
Post a reply to this message
|
 |