POV-Ray : Newsgroups : povray.general : How to know how POV-Ray works Server Time
17 Apr 2024 22:15:51 EDT (-0400)
  How to know how POV-Ray works (Message 1 to 7 of 7)  
From: qingshu
Subject: How to know how POV-Ray works
Date: 5 Jul 2017 11:10:00
Message: <web.595d00df5edfe5a6c89578790@news.povray.org>
Hello everyone:
I have read the online Docs about Version 3.7 (current). But there is little
about how the source code organized and how POV-Ray works. So is there any help
to understand the workflow of the POV-Ray and the function of each code file. I
want to use part of source code to simulation the moving camera.

Thanks!


Post a reply to this message

From: clipka
Subject: Re: How to know how POV-Ray works
Date: 5 Jul 2017 12:04:29
Message: <595d0e0d$1@news.povray.org>
Am 05.07.2017 um 17:08 schrieb qingshu:
> I have read the online Docs about Version 3.7 (current). But there is little
> about how the source code organized and how POV-Ray works. So is there any help
> to understand the workflow of the POV-Ray and the function of each code file. I
> want to use part of source code to simulation the moving camera.

Currently there exists no complete systematic documentation of POV-Ray's
source code.

Where documentation is available, it is virtually entirely located in
the source code itself in the form of comments; for older portions of
the code the comments tends to be informal, while the documentation of
newer portions usually takes on the form of Doxygen-style comments.

Recently, some pieces of more general documentation have been added;
these reside in the `source-doc` folder, and take on the form of
Doxygen-style Markdown files.

The `tools/doxygen` folder contains scripts and configuration files to
compile all the Doxygen-style documentation (both comments and Markdown
files) into a developer's manual in both HTML and PDF format; with a few
changes to the scripts and config files, other formats supported by
Doxygen could also be generated.

We may at some time in the future start publishing the Doxygen output as
an official developer's manual, to accompany the source code and
installer packages on GitHub, but have never done so yet; so generating
your own copy is currently the only way to obtain such a documentation.


Post a reply to this message

From: Le Forgeron
Subject: Re: How to know how POV-Ray works
Date: 5 Jul 2017 14:26:05
Message: <595d2f3d$1@news.povray.org>
Le 05/07/2017 à 17:08, qingshu a écrit :
> Hello everyone:
> I have read the online Docs about Version 3.7 (current). But there is little
> about how the source code organized and how POV-Ray works. So is there any help
> to understand the workflow of the POV-Ray and the function of each code file. I
> want to use part of source code to simulation the moving camera.
> 
> Thanks!
> 
> 
My hints, hoping they can help:

the data structure is more and more complex as version increases.

There is a virtual front end (abstract) which is OS specific (name vfe),
making the whole thing into movement.

There is at least 2 steps:
* parsing
* rendering

Parsing is single threaded, and transform text input into internal data
structure.

Then comes the rendering time, section (blocks) of the final picture are
distributed from the thread in the front end to the multiple threads in
the back end. Once a block is done, the internal messaging transfer the
data from the back end thread to the front end thread which (might, it
can be disabled) store the message in the file to continue a rendering,
and store the actual data into either RAM or buffer file (there is a
setting to choose between RAM or buffer file). Once all blocks have been
rendered, the image file is computed from the data stored in RAM or in
the buffer file.

The camera(s), as they are described anywhere in the scene, get a
post-processing stage before the start of the rendering phase.

That was for the short and easy steps. You might have to add a photon
distribution step (more internal data) and a radiosity step (even more
internal data).


Post a reply to this message

From: Bald Eagle
Subject: Re: How to know how POV-Ray works
Date: 5 Jul 2017 19:10:00
Message: <web.595d70e7e74a3dbaf50cfef80@news.povray.org>
I don't know if it will help you or not, but when I was trying to puzzle out a
program in python a while back, I found that there are applications online that
will analyze source code and sort of flow-chart it out for you.
It seemed to be pretty accurate, and really helped get me off an running - even
with a wholly unfamiliar programming language.


(I have actually been thinking about doing just this, again with POV-Ray, but
just haven't had it in the forefront of my mind when I had the time & internet
access...   :(  )


Post a reply to this message

From: qingshu
Subject: Re: How to know how POV-Ray works
Date: 6 Jul 2017 09:25:01
Message: <web.595e398fe74a3dba89d30d60@news.povray.org>
"qingshu" <220### [at] seueducn> wrote:
> Hello everyone:
> I have read the online Docs about Version 3.7 (current). But there is little
> about how the source code organized and how POV-Ray works. So is there any help
> to understand the workflow of the POV-Ray and the function of each code file. I
> want to use part of source code to simulation the moving camera.
>
> Thanks!

Thank you all for help!
I find that it is more easily to understand version 3.6. Version 3.6 has simple
architecture. The file rendctrl.cpp describe the workflow.


Post a reply to this message

From: clipka
Subject: Re: How to know how POV-Ray works
Date: 6 Jul 2017 09:35:40
Message: <595e3cac$1@news.povray.org>
Am 06.07.2017 um 15:22 schrieb qingshu:
> "qingshu" <220### [at] seueducn> wrote:
>> Hello everyone:
>> I have read the online Docs about Version 3.7 (current). But there is little
>> about how the source code organized and how POV-Ray works. So is there any help
>> to understand the workflow of the POV-Ray and the function of each code file. I
>> want to use part of source code to simulation the moving camera.
>>
>> Thanks!
> 
> Thank you all for help!
> I find that it is more easily to understand version 3.6. Version 3.6 has simple
> architecture. The file rendctrl.cpp describe the workflow.

That's not really a surprise: 3.7 adds support for multithreading, and
also contains code in preparation of future support for distributed
rendering. These changes added a lot of complexity.


Post a reply to this message

From: qingshu
Subject: Re: How to know how POV-Ray works
Date: 6 Jul 2017 09:50:01
Message: <web.595e3f1be74a3dba89d30d60@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 06.07.2017 um 15:22 schrieb qingshu:
> > "qingshu" <220### [at] seueducn> wrote:
> >> Hello everyone:
> >> I have read the online Docs about Version 3.7 (current). But there is little
> >> about how the source code organized and how POV-Ray works. So is there any help
> >> to understand the workflow of the POV-Ray and the function of each code file. I
> >> want to use part of source code to simulation the moving camera.
> >>
> >> Thanks!
> >
> > Thank you all for help!
> > I find that it is more easily to understand version 3.6. Version 3.6 has simple
> > architecture. The file rendctrl.cpp describe the workflow.
>
> That's not really a surprise: 3.7 adds support for multithreading, and
> also contains code in preparation of future support for distributed
> rendering. These changes added a lot of complexity.

Thank you for reply!
I hope POV-Ray will be well documented and more easily for beginner to start
coding in the future.


Post a reply to this message

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