![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: James Holsenback
Subject: Re: Fun stuff heading your way FAST
Date: 29 Nov 2013 08:00:13
Message: <52988fdd@news.povray.org>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 11/29/2013 04:05 AM, Thomas de Groot wrote:
> Only ten instances of the ovus used here so the result is crude but it
> shows me the way to go :-)
was thinking of trying out "blink" on a candle flame but haven't gotten
to it yet ... mind posting a little code snip-it of the what you did on
the ovus object
as far as the "blink" keyword itself ... here's an idea. What is the
word blink in other languages, maybe that might have a better "ring" to it
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 29.11.2013 13:09, schrieb Le_Forgeron:
>> BTW, I'm still looking for a smarter name for that keyword. Anyone have
>> any suggestions?
>>
>
> only a few suggestion & hints via questions:
> 1. what is the syntax ? Is it something like
>
> ....
> foobar { object MyObject repetition 20 movement ...
>
> ? Or something totally different (like photon adding blocks everywhere ) ?
The syntax of the feature per se is as simple as
OBJECT {
...
blink [FLOAT,] FLOAT
}
giving a time interval, in fractions of exposure time, during which the
object is supposed to be visible in the scene (defaulting to "blink 0.0,
1.0", i.e. the entire exposure time).
To use it for motion blur, you would use it as in the following example:
#local DeltaT = 0.1;
#for( T, 0.0, 1.0, DeltaT )
sphere {
<T,0,0>, 1
blink T, T+DeltaT
}
#end
> 2. what is the intended effect ?
The intended effect of the feature per se is to make a given object
appear to be present in the scene only during a part of the exposure time.
Thus, besides motion blur, it could also be used to simulate double
exposure. E.g. you might add a "gost" to the image, an object that is
transparent with respect to the remainder of the scene but opaque when
it comes to occluding itself.
> 3. how is it achieved ? and would that be the only forever way to
> achieve it ?
Each ray shot is tagged with a point in time (currently at random), and
each ray-object intersection test begins with a test whether that point
in time is within the given object's "blink" time interval; if it isn't,
the ray is considered to miss regardless of geometry.
> The effect on first post of thread make me think of the after-effect
> that was used in the "Flash" serie (post 90's)
> so I could suggest:
>
> * flash_effect (not my favortie at all)
Don't want to name it after a particular instance of use.
> * drag / pull / dragging / moving
Nope, as the basic effect is unrelated to movement.
> * shutter_drag
Have to investigate what that would be supposed to mean.
> * blurry / blur
Nope, as the basic effect is unrelated to blur.
> * moving_supersampled
Again nope (unrelated to movement), but a variation might fit.
> * motion_trails
> * motion_blurred
> * trails
> * motion
Nope (unrelated to either movement or blur).
> * shutter_control
> * shutter
> * slow_shutter
Might be possible to do something with this.
> * slow
Nope, as we aren't slowing anything there.
> * extended_exposure
Might also be a direction to go in.
> And of course, use a synonym website to find correlated name/verb until
> you have the perfect match.
>
> The term in photography is shutter drag, or dragging the shutter, but
> it's just a bit too long for my taste.
Well, that would be the term for the motion blur effect I guess, but
this feature is rather unrelated to motion blur, except that you can use
it to achieve this effect. For standard cases (such as steady motion
along a straight path or steady rotation) I'll add some dedicated syntax
that will require only one instance of the object.
> (and there is the option to add a
> flash point (or many) for a more solid capture of the subject along its
> course).
That sounds more like what the effect actually does. (Still doesn't
exactly cut it; I guess that would be more fitting in the contect of an
actual motion blur feature, to specify that a particular point in time
should be exaggerated.)
Maybe I'll go for "ghost" in the end.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 29-11-2013 14:00, James Holsenback wrote:
> On 11/29/2013 04:05 AM, Thomas de Groot wrote:
>> Only ten instances of the ovus used here so the result is crude but it
>> shows me the way to go :-)
>
> was thinking of trying out "blink" on a candle flame but haven't gotten
> to it yet ... mind posting a little code snip-it of the what you did on
> the ovus object
Here it is:
#local Ovus =
ovus {
1.00, 0.65
translate 0.5*y
scale 0.5
MetalMat (<0.65, 0.15, 0.25>)
}
union {
object {Ovus rotate <0, 0, -10> blink 0, 0.1}
object {Ovus rotate <0, 0, -8> blink 0, 0.2}
object {Ovus rotate <0, 0, -6> blink 0, 0.4}
object {Ovus rotate <0, 0, -4> blink 0, 0.6}
object {Ovus rotate <0, 0, -2> blink 0, 0.8}
object {Ovus rotate <0, 0, 0> blink 0, 1.0}
object {Ovus rotate <0, 0, 2> blink 0, 0.8}
object {Ovus rotate <0, 0, 4> blink 0, 0.6}
object {Ovus rotate <0, 0, 6> blink 0, 0.4}
object {Ovus rotate <0, 0, 8> blink 0, 0.2}
object {Ovus rotate <0, 0, 10> blink 0, 0.1}
translate <-1.00, 0.0, -1>
}
Only thing I changed with respect to the image: this code makes the ovus
wobble on its base; in the image the ovus is translated left and right.
Thomas
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
clipka <ano### [at] anonymous org> wrote:
> Maybe I'll go for "ghost" in the end.
How about "expose"?
Regards
Aydan
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 29.11.2013 16:10, schrieb clipka:
> Thus, besides motion blur, it could also be used to simulate double
> exposure. E.g. you might add a "gost" to the image, an object that is
> transparent with respect to the remainder of the scene but opaque when
> it comes to occluding itself.
BTW, I actually happened to be busy implementing a feature specifically
designed for this particular effect (with an elaborate syntax providing
for multiple "ghost groups" that would again be transparent with respect
to each other) and struggling with some implementation details, when it
hit me that if I instead just implemented a straightforward multiple
exposure simulation I could achieve exactly the same effect (albeit with
a less luxurious syntax) with much less implementation effort, /and/ get
a catch-all fallback solution for motion blur for free.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 29.11.2013 16:23, schrieb Aydan:
> clipka <ano### [at] anonymous org> wrote:
>> Maybe I'll go for "ghost" in the end.
>
> How about "expose"?
Hm. I think that sounds quite ok and fitting.
Or maybe "exposure_time".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 29-11-2013 16:31, clipka wrote:
> BTW, I actually happened to be busy implementing a feature specifically
> designed for this particular effect (with an elaborate syntax providing
> for multiple "ghost groups" that would again be transparent with respect
> to each other) and struggling with some implementation details, when it
> hit me that if I instead just implemented a straightforward multiple
> exposure simulation I could achieve exactly the same effect (albeit with
> a less luxurious syntax) with much less implementation effort, /and/ get
> a catch-all fallback solution for motion blur for free.
>
[salive trickling from tusks...] :-)
Thomas
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 29/11/2013 3:10 PM, clipka wrote:
> Don't want to name it after a particular instance of use.
How about clipkakaka [FLOAT,] FLOAT ?
:-)
--
Regards
Stephen
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 29.11.2013 16:41, schrieb Thomas de Groot:
> On 29-11-2013 16:31, clipka wrote:
>> BTW, I actually happened to be busy implementing a feature specifically
>> designed for this particular effect (with an elaborate syntax providing
>> for multiple "ghost groups" that would again be transparent with respect
>> to each other) and struggling with some implementation details, when it
>> hit me that if I instead just implemented a straightforward multiple
>> exposure simulation I could achieve exactly the same effect (albeit with
>> a less luxurious syntax) with much less implementation effort, /and/ get
>> a catch-all fallback solution for motion blur for free.
>>
>
> [salive trickling from tusks...] :-)
Hmm... what's that drooling about? You already tested the result of this
thought process, didn't you.
As for placing a single ghost in a scene, it's as simple as adding
"blink FLOAT" to the respective CSG.
For two independent ghosts you'll want to specify two different time
intervals that partially overlap, such as:
#declare GHOST1 = 0.3;
#declare GHOST2 = 0.4;
object { MyGhost1
blink 0.0, GHOST1
}
object { MyGhost2
blink GHOST1 - GHOST1*GHOST2, GHOST1+GHOST2 - GHOST1*GHOST2
}
For three or more fully independent ghosts it starts to get more
complicated, and you'll have to duplicate at least one of the objects.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 29.11.2013 17:19, schrieb Stephen:
> On 29/11/2013 3:10 PM, clipka wrote:
>> Don't want to name it after a particular instance of use.
>
> How about clipkakaka [FLOAT,] FLOAT ?
I'd prefer /not/ to place my username in a context linguistically
reminiscent of the German colloquial term for toddler droppings... >_<
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |