|
|
|
|
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I have to render high density mesh data from many viewpoints.
The object is static and does not move.
The data consists of over 200k triangles and I have to render
from more than 10k viewpoints.
I found that it takes about 2 minutes to redner a frame
on my Pentium III box.
With this time, it will take at least a month to render all the frames.
Most of the rendering time is used to set up the data.
Actual tracing time is negligible.
The problem is that this set up is done in every frame.
Is there any way to use statically set up data and just trace
another frame from different viewpoints?
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
On Mon, 26 Jun 2000 17:31:00 -0400, Dongho Kim <dki### [at] seasgwuedu>
wrote:
>The problem is that this set up is done in every frame.
>Is there any way to use statically set up data and just trace
>another frame from different viewpoints?
Maybe the persistance features in MegaPOV can help you? I guess the
vista and light buffers will have to be re-calculated on a
frame-by-frame basis but at least the huge mesh won't have to be
parsed. I might be wrong, though, so don't rush it :)
Peter Popov ICQ : 15002700
Personal e-mail : pet### [at] usanet
TAG e-mail : pet### [at] tagpovrayorg
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thanks for the help.
I tried persistence option with MegaPOV.
It does not seem to work.
What I did is...
1. Put unofficial version statements in my pov file and inc file
containing mesh data.
2. Put Persistent_Animation=yes in INI file.
3. change the mesh data into like this.
mesh {
smooth_triangle <...>
smooth_triangle <...>
... (over 200K triangles)
label myMesh <-- I added this line
}
But the required time for the second frame is the same as the first one.
Is there anything missing here?
I think that...
Reading in large data file does not require so much time.
Maybe the long set up time is required to construct space subdivision
data structure for ray tracing and this time is huge because of the
number of triangles.
If the feature of MegaPOV skips only reading the data file
and it has to construct data structure for the ray tracing again,
the total required time will not be reduced.
Is this correct?
Any idea? Please...
Peter Popov wrote:
>
> On Mon, 26 Jun 2000 17:31:00 -0400, Dongho Kim <dki### [at] seasgwuedu>
> wrote:
>
> >The problem is that this set up is done in every frame.
> >Is there any way to use statically set up data and just trace
> >another frame from different viewpoints?
>
> Maybe the persistance features in MegaPOV can help you? I guess the
> vista and light buffers will have to be re-calculated on a
> frame-by-frame basis but at least the huge mesh won't have to be
> parsed. I might be wrong, though, so don't rush it :)
>
> Peter Popov ICQ : 15002700
> Personal e-mail : pet### [at] usanet
> TAG e-mail : pet### [at] tagpovrayorg
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
>Any idea? Please...
With the persistence option in MegaPOV you must remember that the whole file
is reparsed for each frame so you must use something like the following.
This will ensure that once the mesh has been parsed once it will never be
parsed again.
camera{...}
light_source{...}
#ifndef (mymeshparsed)
mesh{
...
..
.
label TheMesh
}
#declare mymeshparsed = 1;//doesn't matter what the value is but you can't
do just #declare mymeshparsed
#end
Hope I've been of some help
--
Bye
Pabs
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I understand.
But in my case, the mesh seems to be parsed again even if
I use #ifndef directive as you explained.
And it takes the same time for parsing.
I tested simple one as follows instead of putting the mesh.
#ifndef (done)
#warning "parsing started"
sphere {<0 0 0>, 1}
#declare done = 1;
#warning "parsing ended"
#end
It prints out "parsing started" and "parsing ended" in every frame.
I think these messages should not be printed from the second frame
if the variable "done" remains in the rendering of the second frame.
I am sure that I wrote "Persistent_Animation=yes" in the INI file.
What did I miss now?
Thanks for your help.
Pabs wrote:
>
> >Any idea? Please...
> With the persistence option in MegaPOV you must remember that the whole file
> is reparsed for each frame so you must use something like the following.
> This will ensure that once the mesh has been parsed once it will never be
> parsed again.
>
> camera{...}
> light_source{...}
>
> #ifndef (mymeshparsed)
> mesh{
> ...
> ..
> .
> label TheMesh
> }
> #declare mymeshparsed = 1;//doesn't matter what the value is but you can't
> do just #declare mymeshparsed
> #end
>
> Hope I've been of some help
> --
> Bye
> Pabs
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Dongho Kim wrote:
> I understand.
> But in my case, the mesh seems to be parsed again even if
> I use #ifndef directive as you explained.
> And it takes the same time for parsing.
>
> I tested simple one as follows instead of putting the mesh.
>
> #ifndef (done)
> #warning "parsing started"
> sphere {<0 0 0>, 1}
> #declare done = 1;
> #warning "parsing ended"
> #end
>
> It prints out "parsing started" and "parsing ended" in every frame.
> I think these messages should not be printed from the second frame
> if the variable "done" remains in the rendering of the second frame.
> I am sure that I wrote "Persistent_Animation=yes" in the INI file.
>
> What did I miss now?
> Thanks for your help.
You didn't miss anything - I think there are some bugs
I did some testing with persistent animation on using
#version unofficial MegaPov 0.5;//or 0.4 for the wmp0.4 test
light_source{5, rgb 1 }
camera{location 5 look_at 0 }
#ifndef(done)
#warning "parsing started\n"
sphere {<0 0 0>, 1 pigment{rgb 1}label sph}
#declare done = 1;
#warning "parsing ended\n"
#end
wmp0.5a doesn't work properly - maybe a bug in how variables are treated - looks
like they are killed after each frame - aren't they supposed to live until the
last frame has been traced
wmp0.5 works as expected as does wmp0.4
So either just use wmp 0.5 for your anim or ask Nathan to fix this & release
MegaPOV 0.6 :)
The first option is probably better at this time as he is supposed to be busy with
"life" or something
Also Nathan if you read this why aren't lights allowed to be persistent - they are
treated as objects in every other aspect (and the camera for that matter and
anything else you care to throw in)
--
Bye
Pabs
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Thanks a lot.
I can use version 0.5 because I don't even know the differences
between the versions. :-)
(Actually, I came to know today that there is MegaPOV.)
But I don't know where to get version 0.5 or 0.4.
It is not on the ftp site.
Please let me know the place or
I will appreciate if somebody sends it to me.
I need the source code as well because I have to add some feature
for my own use.
Thanks.
Pabs wrote:
>
> Dongho Kim wrote:
>
> > I understand.
> > But in my case, the mesh seems to be parsed again even if
> > I use #ifndef directive as you explained.
> > And it takes the same time for parsing.
> >
> > I tested simple one as follows instead of putting the mesh.
> >
> > #ifndef (done)
> > #warning "parsing started"
> > sphere {<0 0 0>, 1}
> > #declare done = 1;
> > #warning "parsing ended"
> > #end
> >
> > It prints out "parsing started" and "parsing ended" in every frame.
> > I think these messages should not be printed from the second frame
> > if the variable "done" remains in the rendering of the second frame.
> > I am sure that I wrote "Persistent_Animation=yes" in the INI file.
> >
> > What did I miss now?
> > Thanks for your help.
>
> You didn't miss anything - I think there are some bugs
> I did some testing with persistent animation on using
>
> #version unofficial MegaPov 0.5;//or 0.4 for the wmp0.4 test
> light_source{5, rgb 1 }
> camera{location 5 look_at 0 }
> #ifndef(done)
> #warning "parsing started\n"
> sphere {<0 0 0>, 1 pigment{rgb 1}label sph}
> #declare done = 1;
> #warning "parsing ended\n"
> #end
>
> wmp0.5a doesn't work properly - maybe a bug in how variables are treated - looks
> like they are killed after each frame - aren't they supposed to live until the
> last frame has been traced
> wmp0.5 works as expected as does wmp0.4
>
> So either just use wmp 0.5 for your anim or ask Nathan to fix this & release
> MegaPOV 0.6 :)
> The first option is probably better at this time as he is supposed to be busy with
> "life" or something
>
> Also Nathan if you read this why aren't lights allowed to be persistent - they are
> treated as objects in every other aspect (and the camera for that matter and
> anything else you care to throw in)
> --
> Bye
> Pabs
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
Dongho Kim wrote:
> Thanks a lot.
>
> I can use version 0.5 because I don't even know the differences
> between the versions. :-)
This taken from Nathan's page
June 1, 2000 - WinMegaPov 0.5a
1.removed GIF support (potential legal issues regarding the Unisys patent)
2.fixed docs for pigment_pattern
3.fixed disc problems (removed fastdiscpatch)
4.fixed long filename support in the Windows version
5.fixed bug with photons on average texture
6.fixed bug with media method 3 when samples = 1
7.fixed bug with parsing backwards compatibility and unofficial version number
8.added fastspherepatch
9.added fastpolypatch
10.fixed "bug" with mesh (MegaPov did not ignore degenerate triangles if uv
mapping was used in the triangle)
11.fixed bug with ttf
12.fixed bug with csqr
> (Actually, I came to know today that there is MegaPOV.)
> But I don't know where to get version 0.5 or 0.4.
> It is not on the ftp site.
> Please let me know the place or
> I will appreciate if somebody sends it to me.
> I need the source code as well because I have to add some feature
> for my own use.
I have it at home (src & exe) so I'll mail it to you tomorrow if no-one else has (post
a
message here if someone does)
all up its about 1.5 Mb (docs src exe) - demos haven't changed from 0.5 to 0.5a
--
Bye
Pabs
Post a reply to this message
|
|
| |
| |
|
|
|
|
| |
| |
|
|
I think the easiest solution is this:
#if(clock=0)
mesh { whatever }
#end
--
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
|
|
| |
| |
|
|
|
|
| |
| |
|
|
It works.
Thanks for your help.
Warp wrote:
>
> I think the easiest solution is this:
>
> #if(clock=0)
> mesh { whatever }
> #end
>
> --
> 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
|
|
| |
| |
|
|
|
|
| |