|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Hi,
I was wondering if it was possible with Povray 3.1 (under linux) to make motion
blurred animations? What would be a trick to make motion blur without the use
of any post-processing? To make true motion blur; impression of light in the
camera...
Any ideas?
Thanks,
Simon
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Simon Lemieux" <lem### [at] yahoocom> wrote in message
news:3941BF71.F7D2C224@yahoo.com...
> Hi,
> I was wondering if it was possible with Povray 3.1 (under linux) to make
motion
> blurred animations?
Of course.
> What would be a trick to make motion blur without the use
> of any post-processing?
Ah, now your asking - it's still possible, though, in a couple of ways.
1. Multiple objects. In a nutshell you create additional copies of any
objects you want motion blurred, but you position each one one further 'step
back in time' and adjust their transparancy so that they become increasingly
transparent. OK, say your scene contains a red sphere that moves smoothly
from <0,0,0> to <1,0,0> between two frames of in the animation, therefor, on
the second of these frames you'd have the scene setup something like :
object { sphere { <pos ,0,0>, 1 } pigment { color rgbt<1,0,0,0
> } }
object { sphere { <pos-1/3,0,0>, 1 } pigment { color rgbt<1,0,0,1/3> } }
object { sphere { <pos-2/3,0,0>, 1 } pigment { color rgbt<1,0,0,2/3> } }
object { sphere { <pos-1 ,0,0>, 1 } pigment { color rgbt<1,0,0,1
> } }
Obviously the more of these ghost sphere's you put in the smoother the
blurring will be - just remember for any one frame you need to fill the
space between an objects current position and it's last position along the
path it's travelling with increasingly transparent copies of the object and
you can't go far wrong.
2. Patch POVRay - I believe there are patched versions of POV that will
do motion blur for you - effectively creating the ghost objects without you
needing to specifically code it into your POV source. I could be wrong
though.
Of course the third and by far the easiest option is to just render far
more frames in your animation than you need - group them up into blocks of
subframes and then merge the subframes together to create each individual
frame.
--
Scott Hill. (sco### [at] innocentcom)
Software Engineer.
Author of Pandora's Box (coming to a web page soon(ish)).
*Everything in this post is IMO.*
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Mark Gordon has a UniMegaPov 0.5a version for Linux available...
http://www.mailbag.com/users/mtgordon/megapov.html
...which can do motion blurring of objects, not light sources or camera (full
scene) though.
Animating it would be similar to any other animation via clock and such.
Other than that you'll need to go with Scott's suggestions I think.
Bob
| "Simon Lemieux" <lem### [at] yahoocom> wrote in message
| news:3941BF71.F7D2C224@yahoo.com...
| > Hi,
| > I was wondering if it was possible with Povray 3.1 (under linux) to make
| motion blurred animations?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Simon Lemieux <lem### [at] yahoocom> wrote:
: Hi,
: I was wondering if it was possible with Povray 3.1 (under linux) to make motion
: blurred animations?
Use MegaPov. It has a wonderful support for motion blur for either stills
and specially for animations (it can be made to automatically calculate the
amount of motion blur according to the transformations of the object from
frame to frame).
Basically you write just this:
global_settings { motion_blur 10, clock_delta }
motion_blur
{ MyObject
<transform object here using 'clock'>
}
The value '10' above is the number of samples to be taken (basically),
decrease for speed, increase for quality. The second value (after that '10')
could be any value but setting it to 'clock_delta' makes it to calculate
the exact distance between frame to frame.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Scott Hill <sco### [at] innocentcom> wrote:
: 1. Multiple objects.
The result will be wrong. Suppose that the object stays in its place.
With true motion blur it will not have any difference from a non-blurred
object. With this multiple object trick it will be a bit transparent.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Warp" <war### [at] tagpovrayorg> wrote in message
news:394291e5@news.povray.org...
> Scott Hill <sco### [at] innocentcom> wrote:
> : 1. Multiple objects.
>
> The result will be wrong. Suppose that the object stays in its place.
> With true motion blur it will not have any difference from a non-blurred
> object. With this multiple object trick it will be a bit transparent.
>
Well, I'd personally modify the number of clone objects according to the
distance an object moves - if it doesn't move it needs no clones. Besides,
surely because all the semi-transparent clones are just going to be exactly
over the non-transparent original this one will show through, making it
completely non-transparent.
--
Scott Hill. (sco### [at] innocentcom)
Software Engineer.
Author of Pandora's Box (coming to a web page soon(ish)).
*Everything in this post is IMO.*
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Scott Hill <sco### [at] innocentcom> wrote:
: Well, I'd personally modify the number of clone objects according to the
: distance an object moves - if it doesn't move it needs no clones.
My point was that the amount of transparency will not be correct even if
the object was moving. If the object does not move more than its own length,
there will always be non-transparent parts.
: Besides,
: surely because all the semi-transparent clones are just going to be exactly
: over the non-transparent original this one will show through, making it
: completely non-transparent.
Putting one copy of the original object and several copies of translucent
objects doesn't give the correct result.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
"Warp" <war### [at] tagpovrayorg> wrote in message
news:3944a980@news.povray.org...
> Scott Hill <sco### [at] innocentcom> wrote:
> : Well, I'd personally modify the number of clone objects according to
the
> : distance an object moves - if it doesn't move it needs no clones.
>
> My point was that the amount of transparency will not be correct even if
> the object was moving. If the object does not move more than its own
length,
> there will always be non-transparent parts.
>
Surely that's correct ?
> : Besides,
> : surely because all the semi-transparent clones are just going to be
exactly
> : over the non-transparent original this one will show through, making it
> : completely non-transparent.
>
> Putting one copy of the original object and several copies of
translucent
> objects doesn't give the correct result.
>
Why not ?
--
Scott Hill. (sco### [at] innocentcom)
Software Engineer.
Author of Pandora's Box (coming to a web page soon(ish)).
*Everything in this post is IMO.*
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Scott Hill <sco### [at] innocentcom> wrote:
:> Putting one copy of the original object and several copies of
: translucent
:> objects doesn't give the correct result.
: Why not ?
Because all the "samples" have to contribute by the same amount. In this
method you will have irregular distribution of the samples.
The correct way would be take n "samples" each one of them contributing
100/n % to the final color.
With only semi-transparent objects each object contributes less than
100/n %. Adding one instance of the non-transparent object makes the result
only worse.
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
> Scott Hill <sco### [at] innocentcom> wrote:
> :> Putting one copy of the original object and several copies of
> : translucent
> :> objects doesn't give the correct result.
>
> : Why not ?
>
> Because all the "samples" have to contribute by the same amount. In this
> method you will have irregular distribution of the samples.
>
> The correct way would be take n "samples" each one of them contributing
> 100/n % to the final color.
> With only semi-transparent objects each object contributes less than
> 100/n %. Adding one instance of the non-transparent object makes the result
> only worse.
Yes, this should be better, but will povray interact well with the idea? I mean
povray will surely be able to make n transparent objects, but will it accumulate
the colors correctly?
Thanks,
Simon
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
|
|