Hi Nick,
You should be able to do what you want using pinterp and falsecolor. I'll assume that you desire isolux contours on vertical surfaces in my instructions, below.
1) Generate an irradiance image using a parallel view to render the vertical surfaces you are interested in with the -i option. This will exclude surfaces perpendicular (horizontal surfaces in particular), but may include surfaces at odd angles. Hopefully, this is OK. At the same time, you should use the -z option of rpict to create a z-buffer to go with your rendering, and set -pj 0. Let's call this "irradiance.pic", and call the z-buffer "irradiance.zbf".
2) Generate a standard image of the same size but without the -i or -z options. (Actually, you may use the -z option with either rendering -- you just don't need it for both as it will be the same.) Again, set -pj 0 as before, so your pixels line up. Let's call this "standard.pic". You will probably want to pass this image through pcomb or pfilt to optimize the exposure for display, but don't alter the resolution or the z-buffer won't be valid.
3) Run these two renderings through falsecolor to generate a contour plot, using Rob Guglielmetti's new -lw option to set the label width to 0. You must do this in a special way to preserve the view string needed in Step 5:
getinfo < standard\.pic | grep '^VIEW=' > contour\.pic
falsecolor -cl -lw 0 -i irradiance.pic -p standard.pic [other options] >> contour.pic
4) Generate a standard image from the view you actually want to see, which I'll assume is either a perspective view or one coming from a different angle to include some vertical surfaces. You must also generate a z-buffer for this image using rpict's -z option. Let's call this "view.pic", and the z-buffer "view.zbf". You will probably want to pass this image through pcomb or pfilt to optimize the exposure for display, but follow the same procedure as in Step 2.
5) Use pinterp to combine the two images, giving the contour image first and using the -q option to avoid averaging:
% pinterp -x 1024 -y 1024 -q -f0 -vf view.pic contour.pic irradiance.zbf view.pic view.zbf > combined.pic
The -x 1024 -y 1024 options are to set the output resolution, which should match the resolutions of the input images. If you want to produce an anti-aliased result, then go through with resolutions that are twice or three times what you desire in the end, then pass "combined.pic" through pfilt with options to filter down the result. Any filtering earlier in the pipeline will break everything.
I hope this works -- let me know how it turns out. (And you thought it was a simple question!)
-Greg
From: "Nick Devlin" <[email protected]>
Date: October 26, 2004 1:41:14 AM PDT
Dear All,
A simple question – I suspect to the more able (then me) of you out there…. Is it possible to exclude planes in a certain orientations from an rpict calculation. For example, I would like to use radiance to create a picture showing the vertical sky component on vertical surfaces. Therefore I would like to exclude the horizontal surfaces to prevent them from cluttering up the image.
Ideally, I would anticipate being able to overlay a contour image which excludes the horizontal surfaces over a luminance image which includes them. I suppose I could generate this from two separate sets of geometry, but this is a little clunky and may result in some inaccurate results, where the inter-reflections may be important and or significant. Any thoughts would be gratefully received.
Many thanks
Nick
XCO2 conisbee Ltd
1-5 Offord Street
London N1 1DH
Tel: + 44 (0)20 7700 1000
Fax: + 44 (0)20 7700 4455
Email: [email protected]
Web: http://www.xco2.com
engineering sustainability