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
separately.
Thanks,
Mostapha
···
On Thu, Jul 31, 2014 at 4:28 PM, Mostapha Sadeghipour <[email protected] > 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.
Thanks,
Mostapha
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.
Best,
-Greg
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 );
break;
case VT_PAR:
case VT_ANG:
pview.horiz = ourview.horiz / hmult;
pview.vert = ourview.vert / vmult;
break;
case VT_CYL:
pview.horiz = ourview.horiz / hmult;
pview.vert = (2.*180./PI)*atan(
tan((PI/180./2.)*ourview.vert)/vmult );
break;
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 );
break;
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));
break;
default:
fprintf(stderr, "%s: unknown view type '-vt%c'\n",
progname, ourview.type);
exit(cleanup(1));
}
···
From: Mostapha Sadeghipour <[email protected]>
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 separately.
Thanks,
Mostapha
On Thu, Jul 31, 2014 at 4:28 PM, Mostapha Sadeghipour <[email protected]> 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.
Thanks,
Mostapha
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 <[email protected]> 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.
Best,
-Greg
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 );
break;
case VT_PAR:
case VT_ANG:
pview.horiz = ourview.horiz / hmult;
pview.vert = ourview.vert / vmult;
break;
case VT_CYL:
pview.horiz = ourview.horiz / hmult;
pview.vert = (2.*180./PI)*atan(
tan((PI/180./2.)*ourview.vert)/vmult );
break;
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 );
break;
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));
break;
default:
fprintf(stderr, "%s: unknown view type '-vt%c'\n",
progname, ourview.type);
exit(cleanup(1));
}
From: Mostapha Sadeghipour <[email protected]>
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 separately.
Thanks,
Mostapha
On Thu, Jul 31, 2014 at 4:28 PM, Mostapha Sadeghipour <[email protected]> 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.
Thanks,
Mostapha
_______________________________________________
Radiance-general mailing list
[email protected]
http://www.radiance-online.org/mailman/listinfo/radiance-general
Good work, Mostapha!
This is really something that should be implemented in a .cal file. I've just never found the time.
Cheers,
-Greg
···
From: Mostapha Sadeghipour <[email protected]>
Subject: Re: [Radiance-general] Rendering a single image with multiprocessor in Windows
Date: August 5, 2014 7:04:57 PM PDT
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... 
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.
Mostapha
On Fri, Aug 1, 2014 at 4:52 PM, Rob Guglielmetti <[email protected]> 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 <[email protected]> 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.
Best,
-Greg
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 );
break;
case VT_PAR:
case VT_ANG:
pview.horiz = ourview.horiz / hmult;
pview.vert = ourview.vert / vmult;
break;
case VT_CYL:
pview.horiz = ourview.horiz / hmult;
pview.vert = (2.*180./PI)*atan(
tan((PI/180./2.)*ourview.vert)/vmult );
break;
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 );
break;
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));
break;
default:
fprintf(stderr, "%s: unknown view type '-vt%c'\n",
progname, ourview.type);
exit(cleanup(1));
}
From: Mostapha Sadeghipour <[email protected]>
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 separately.
Thanks,
Mostapha
On Thu, Jul 31, 2014 at 4:28 PM, Mostapha Sadeghipour <[email protected]> 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.
Thanks,
Mostapha