POV-Ray : Newsgroups : povray.unofficial.patches : Feature requests : Re: Feature requests Server Time
1 Sep 2024 22:19:36 EDT (-0400)
  Re: Feature requests  
From: Chris Huff
Date: 10 Oct 2000 17:32:10
Message: <chrishuff-07699E.16344310102000@news.povray.org>
In article <39e3239f@news.povray.org>, "Philippe Debar" 
<phi### [at] hotmailcom> wrote:

> I certainly have immediate uses for shadowless, double_illuminate and
> no_image. I included the others to keep some syntax coherence.

I assume you mean uses for versions of these which have "amount" 
parameters...
I don't mean the effect wouldn't be useful, I meant that it was probably 
possible to do with other means.


> For no_shadow, no_reflection, no_image I do not see how to easily get the
> effects I am thinking off (rather like a fade in/out then a filter or a
> transparency).

What is the difference? To me, it sounds like you want "transmit".


> I choosed "blinn <amount> blinn_ior <ior>" for syntax similarity with
> "phong <amount> phong_size <size>" and "specular <amount> roughness
> <roughness>".

Good point...I would personally like a shortcut syntax:
phong AMOUNT, SIZE
specular AMOUNT, ROUGHNESS
blinn AMOUNT, FACETS, IOR
This could probably be done while preserving the current syntax, it 
would just make finish statements shorter. :-)


> Sorry, but I really do not understand what you are talking about... 
> :-( I thought the blinn highlight finish was constant on an object 
> (if you set texture maps aside) and independant from any other 
> objects...

When calculating refraction, POV uses the ior of the medium the ray is 
coming from as well as the ior of the object it is entering to perform 
the calculations...a glass sphere in water will appear differently than 
a glass sphere embedded in a diamond or floating in the air. If blinn 
uses this model(which I think it probably should), you won't be able to 
get the right results by simply adding another value for it to use...you 
will have to duplicate the ior calculation(not impossible, but a 
significant increase in difficulty).


> Are you implicitly saying that the other changes are trivial ? (hope)

Adding a keyword is easy, and if it uses the ior value directly, adding 
a separate one for the highlight would also be easy.


> Yes, I like "shadow on|off |float", for both usages. It is more 
> intuitive. And "reflection", "image", "highlight" and 
> "double_illuminate" (and "radiosity"). I do prefer all singular 
> keywords, but I do not really care as long as it is consistent (may 
> be difficult with plurals). 

Singular doesn't make sense with shadow control...an object can have 
multiple shadows, one from each light, and a light_source has a shadow 
for every object. Also, there can be several highlights. However, there 
is only one image, and phong, blinn, specular, radiosity, and 
double_illuminate don't describe "things"(you can't have multiple 
radiosities or triple-illumination).


> (Side note : but _I_like_ underscore marks.)

Hmm, they require a "shift- -" combination, which makes them harder to 
type. I tend to press the shift key and search around till I hit the - 
key or go back to looking for the right key(I am a touch typist, but 
that particular combination is difficult for me)...I avoid using them in 
variable names, though I understand their use in keywords, where you are 
restricted to lower-case letters.


> Yes, "highlight on|off|float" _plus_ specific control.

So the "highlight(s)" keyword would control all of the highlight types 
that the light_source affects? Sounds like a possibly nice feature, 
though not absolutely necessary, and requiring a new keyword...


> Instead of writing :
>    [...] scale .5 warp{turbulence 1/3} scale 2 [...]
> Use :
>    [...] warp{turbulence 1/3 scale .5} [...]

Ah, ok...what I was thinking of would be more like this:
warp {
    scale 2
    turbulence 1/3
    scale 0.5
}
I think it makes more sense to have the transforms *be* warps than to be 
applied to the warps...especially when you have multiple cycles of 
scaling, translating, and turbulence, for example.
This:
warp {
    scale 4
    turbulence 1/3
    scale 0.5
    turbulence 1/5
    scale 0.5
}
using your syntax would be this:
warp {
    turbulence 1/3
    scale 0.25
}
warp {
    turbulence 1/5
    scale 0.5
}
and using the current syntax would be:
scale 4
warp {
    turbulence 1/3
}
scale 0.5
warp {
    turbulence 1/5
}
scale 0.5

The main advantage of my syntax is that it is more compact, but yours is 
more readable(for simple cases, at least, and if you don't mind having 
multiple warp{} blocks). Also, what will your syntax do with something 
like this?
warp {
    scale 0.5
    turbulence 1/5
    scale 0.5
}
Would that be the same as this?
warp {
    turbulence 1/5
    scale 0.25
}
Or will the transforms only affect warps before them?(this would 
probably be difficult to implement)

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.