<prev [index] next>

RendView Manual -- Quick Start

People do not want to read lengthy documentation. So, for those who want to get on with it, there is a quick start.
If you ever intend to use RendView, please read the quick start carefully.
Because the online help (call rendview --help) will probably not completely enlighten you without having read the docu.

You first have to understand the most basic working principle and structure of RendView:

Basic structure

Rendering and/or filtering a frame is a task.
Tasks originate from a task source, are fed into the task manager which has a task driver interface ("dif") which uses a task driver to actually execute the render or filter program (jobs). Once the task is done, it is given back to the task source with success/failure information.
Furthermore there is a component data base which stores information about renderers and filters.
Which task source and task driver interface are actually used depends on the operation mode.

Operation modes

RendView currently knows 3 operation modes (option -opmode=):
-opmode= task source driver interface
rendview locallocal default; completely local
ldrserver localLDR server for local distributed rendering
ldrclient LDRlocal client for local distributed rendering

As you probably guess, "LDR" means "local distributed rendering" and means that tasks are processed by several clients in a local TCP/IP network. RendView is a single executable and has all three opmodes built in.

Calling RendView -- quick start

In order to launch RendView, you have to supply information for the task source and the task driver which will get used as well as the component data base.

Feeding the component data base

This is easiest done by creating two files, renderers.par and filters.par (check your distribution, it includes sample files).
The file contents are self-explaining; here is an example for renderers.par:
# renderers.par config file for RendView

*section povray3.1g
  driver = povray
  binpath = povray
  req_args+= -J
  inc_path= /usr/lib/povray/include

*section "povray3.5"
  driver = povray
  binpath = /usr/src/povray/povray-3.5-build/src/povray
  stopsig = SIGSTOP
  req_args+= -J -display :0.0
  inc_path= /usr/src/povray/povray-3.5/include/ /usr/lib/povray/include
Note the name after *section, it is the name of the render desc (description). There are two descs for different versions of POVRay which both use the POVRay driver.
filters.par looks quite the same; but you don't need it for a quick start. (You don't want to filter frames at your first quick start, do you?)
To tell RendView about these files, pass the options -rdfile=/path/to/renderers.par and (if available) -fdfile=/path/to/filters.par.

Feeding the local task source

This is necessary in any case because both LDR server and local RendView use this task source. Important options (all begin with -l- for local task source):
MUST be specified, otherwise the frames do not get rendered. DESC is the name of a render desc as defined in renderers.par (in our example it would be povray3.1g or povray3.5).
Specify the number of frames to be rendered (auto-detected).
Specify the size of the rendered frames (320x240).
Specify the file name pattern where PAT is something like f%07d.pov for f0000000.pov, f0000001.pov,... (following standard printf(3) syntax).

Further interesting options: -l-cont and -l-rcont.

If you do not have a list of frames but rather want to animate scene.pov using POVRay's animation clock, then pass -l-r-ifpattern=scene.pov and use the following:
Switch on use of the frame clock (fc).

Beginning with RendView-0.7.0, frame clock support has changed. You now no longer pass -l-r-fc0 and -l-r-fcdt but instead just tell RendView that the frame clock is being used while you give POVRay all information it needs to compute the clock value out of the passed frame number. RendView will then use +SFnnn and +EFnnn to render (the single) frame nnn. Hence, you need to specify +KFI, +KFF, +KI and +KF for POVRay (as additional arg or in an .ini file or by relaying on the defaults).
Note that RendView automatically passes +KFI0 to POVRay (as first arguments to allow for user-overriding). The reason is that RendView defaults to starting with frame number 0 while POVRay normally stats at 1.

Feeding the local task driver interface

In case you want to try and launch (local) RendView (i.e. execute tasks on the local computer as done by the LDR client and plain RendView), you may need to pass options to the local driver interface. None are required, most important:
Suppress output of renderer (not default but recommended).
Number of processes to start and run in parallel (1).

Finally launching RendView

You can now finally launch RendView. Say you want to render frame000.pov... frame239.pov locally with POVRay 3.5 at a size of 640x480, then you may call:

rendview -rdfile=/path/to/renderers.par -l-rd=povray3.5 -l-nframes=240 -l-size=640x480 -l-r-ifpattern="frame%03d.pov" -ld-r-quiet

Alternatively, you can put all the options in the environment variable RENDVIEWARGS and simply launch RendView, e.g. for bash (with bash> being the shell prompt):

bash> export RENDVIEWARGS="-rdfile=/path/to/renderers.par -l-rd=povray3.5 -l-nframes=240 -l-size=640x480 -l-r-ifpattern=frame%03d.pov -ld-r-quiet"
bash> rendview

If you want to animate the clock value of scene.pov in 25 frames from 0.0 to 3.0, you may call (using bash):

bash> export RENDVIEWARGS="-rdfile=/path/to/renderers.par -l-rd=povray3.5 -l-size=640x480 -l-r-ifpattern=scene.pov -ld-r-quiet -l-r-args+=\"+KFI0 +KFF24 +KI0.0 +KF3.0\""
bash> rendview -l-nframes=26 -l-r-fc

Read more about POVRay frame clock support here.
Alternatively, you can put all the frame settings (and anti-aliasing params or the like as well, if desired) into an .ini file (which must have the extentsion .ini) and render the .ini file. Make sure to include +Iscene.pov in the .ini file somewhere and pass the scene.pov file as additional file:

bash> export RENDVIEWARGS="-rdfile=/path/to/renderers.par -l-rd=povray3.5 -l-size=640x480 -l-r-ifpattern=scene.ini -ld-r-quiet -l-r-files+=\"scene.pov\" "
bash> rendview -l-nframes=26 -l-r-fc

Stopping RendView again

Okay, now as RendView is running, we may want to stop it again. The easiest way is to send it a SIGINT by pressing ^C on the terminal. Pressing it once will not start new tasks but wait for the currently running tasks to finish, pressing it a second time will kill the currently running tasks and exit then, pressing it for a third time will abort RendView (do not do that unless it is not aviodable).

Using LDR

If you want to use LDR, please read the normal documentation or have at least a look at the examples.

<prev [index] next>
Last modified: 2008-02-11 21:06:40 Copyright © 2003 Wolfgang Wieser