Rendering a single image with multiprocessor in Windows

Hi Greg and Rob,

Thanks Greg. I did a test and it works like a charm for perspective views.
I haven't tested it for other types of views yet.

Rob, rpiece is not actually included in the recent Windows packages. I have
it there from an old release! Oops... :wink:

Let me know when you are back so we can check the results. It works perfect
on my side. Maybe I should test more cases.



On Fri, Aug 1, 2014 at 4:52 PM, Rob Guglielmetti < > wrote:

Hey Mo, I can share my results with you on this when I get back from
vacation; I made a spreadsheet to calculate the views based on that code
but as I recall I got some funky results.

Also thanks for the heads up on rpiece in the windows packages, I'll make
sure that's not included in the future! Oops...

On Jul 31, 2014, at 11:59 PM, Greg Ward <> wrote:

It's possible, but not at all straightforward. You basically have to use
the attached code (taken from rpiece) to adjust the -vh and -vv options to
rpict, then use the -vs and -vl options to determine which part of the
picture you want to render.


switch (ourview.type) {
case VT_PER:
pview.horiz = (2.*180./PI)*atan(
tan((PI/180./2.)*ourview.horiz)/hmult );
pview.vert = (2.*180./PI)*atan(
tan((PI/180./2.)*ourview.vert)/vmult );
case VT_PAR:
case VT_ANG:
pview.horiz = ourview.horiz / hmult;
pview.vert = ourview.vert / vmult;
case VT_CYL:
pview.horiz = ourview.horiz / hmult;
pview.vert = (2.*180./PI)*atan(
tan((PI/180./2.)*ourview.vert)/vmult );
case VT_HEM:
pview.horiz = (2.*180./PI)*asin(
sin((PI/180./2.)*ourview.horiz)/hmult );
pview.vert = (2.*180./PI)*asin(
sin((PI/180./2.)*ourview.vert)/vmult );
case VT_PLS:
pview.horiz = sin((PI/180./2.)*ourview.horiz) /
(1.0 + cos((PI/180./2.)*ourview.horiz)) / hmult;
pview.horiz *= pview.horiz;
pview.horiz = (2.*180./PI)*acos((1. - pview.horiz) /
(1. + pview.horiz));
pview.vert = sin((PI/180./2.)*ourview.vert) /
(1.0 + cos((PI/180./2.)*ourview.vert)) / vmult;
pview.vert *= pview.vert;
pview.vert = (2.*180./PI)*acos((1. - pview.vert) /
(1. + pview.vert));
fprintf(stderr, "%s: unknown view type '-vt%c'\n",
progname, ourview.type);

*From: *Mostapha Sadeghipour <>

*Subject: *Re: [Radiance-general] Rendering a single image with
multiprocessor in Windows

*Date: *July 31, 2014 2:43:17 PM PDT

I just read that rpiece is not supposed to be part of the Windows
package for some reason so I probably should change the question to is it
possible to render a segment of a view based on -X -Y pixels?

I can take care of running them in parallel and putting them back together


On Thu, Jul 31, 2014 at 4:28 PM, Mostapha Sadeghipour < >> wrote:

Hi all,

I wonder is anyone has successfully rendered a single image in parallel
using rpict -PP and/or rpiece in Windows.

I have a hard time to understand both the process and the syntax.


Radiance-general mailing list

Radiance-general mailing list