|
|
This looks like it's more logical than the present syntax. How about making
it the syntax for POV 4.0, which will be a total rewrite?
Brendan
Fabien Mosen wrote:
> I recently had some toughts about POV-Ray's texturing system, and tried
> to point out some incoherences and suggest some remedies. Please note
> that I'm not whining, or requesting anything. These are just toughts
> for a possible future. Read it, keep it, throw it, as you feel.
> Here's the first of these toughts.
>
> FINISH - Change in material structure
> -------------------------------------
> What's wrong with "finish"* ? "finish" is at the same hierarchic level
> as
> "pigment" and "normal", though it works very differently. "pigment" and
> "normal" require a pattern and a map, while "finish" just has some
> keywords.
> Of course, "finish" could get some "finish_map", but since, anyway, a
> pattern isn't *required*, it's still incoherent with "pigment" and
> "normal".
> So, my idea is to put "finish" at the same level as "texture", and
> create
> a "surface" entity to group both. Also, this require that, inside the
> "finish" statement, finish properties are also grouped into separate
> entities. Given the recent growth of the "finish" content (thanks to
> MegaPOV), having all the keywords 'thrown' in a single statement became
> annoying. This would, of course, allow the declaration of the finish
> items : finish {reflection {Mirror1} highlights {VeryShiny} ..}
>
> (*note to Warp : I didn't say 'What's wrong with Finnish ?' ;-))
>
> Here is the proposed material structure :
>
> material {
> surface {
> [pattern - surface_map]
> texture {
> [pattern - texture_map]
> pigment {..}
> normal {..}
> }
> finish {
> [pattern - finish_map]
> reflection {type .. min .. max .. exponent
> ..}
> highlights {phong .. specular .. blinn ..}
> iridescence {irid .. thickness ..}
> light {ambient.. brilliance ..}
> }
> }
>
> interior {
> refraction {..}
> media {..}
> }
> }
Post a reply to this message
|
|