Dear Group
First of all, I ask that you all will please forgive my lack of knowledge on the subject of Monte Carlo importance sampling. Although I am not familiar with this subject, I do possess an engineering degree so I am familiar with some complex mathematical concepts.
As for my question, I have had some issues with reflection on objects composed of metal and metal2 materials. Generally the reflections that I have had problems picking up are bright objects that are non-light sources sources. An example of such is picking up the reflection of a floor with a very bright area due to a light source such as the following example:
http://f1.pg.photos.yahoo.com/ph/marcdevon/vwp?.dir=/RadiancePics&.dnm=room2a_camera4.jpg&.view=t
Generally, the reflections of the floor on the appliances will come out very noisy (instead of blurry). I have had some moderate success in eliminating the noise by increasing the rendering resolution. It takes a rendering of about 12 times the final resolution before filtering to reduce the noise. Although this is acceptable, it is inefficient to render an entire scene at this resolution due to the problems of a fraction of the scene. In my opinion, it is far more efficient to have a solution to rectify the problem locally where the problems exist rather than on the entire image.
I have attempted going into the software�s source code to find a solution to this problem. What I hypothesized was that by increasing the specular sampling, I can reduce the pixel variance and the cost of increased computational expense and the loss of some blurriness of the reflection (although I believe I would still capture the roughness of the material). I have read through Chapter 12 of �Rendering with Radiance� and have looked into materials file included with the CD-ROM. While delving into aniso.c, I thought I could accomplish my objective by increasing the value of the constant MAXITER (I actually renamed it to MAXITER2 to avoid any conflict with MAXITER in norm.c) from 10 to 256. Unfortunately, this did not work. I tried to do a small calculation to estimate the number of rays that would have to be traced in order to render the image with these settings. Most of the surfaces of the appliances in the above picture are anisotropic. I estimated that these surfaces comprise of about 1/3 of the scene. If I rendered the image at 1000 x 1000 (1 million total pixels) about 333K pixels would have their specular component sampled. At 256 samples per pixels and a pixel sample rate of 1, specular jittering of 1 and specular threshold of 0, the number of specular samples expected would equal to around 85 million. When I did render the image, a total of about 19 million rays were traced (including ambient). As you can see, the number of actual rays traced is not on the same order of the number that I expected to trace. I did a comparison between a rendering with and without the source code modifications that I had performed. There were differences in the render settings. The image quality was no different between the two renders and there were only about 2-3 million more rays total traces.
For my questions:
Firstly, am I off base in my assumption that increasing the number of specular samples will decrease the pixel variance/noise in my renders or am I over simplifying the problem? Secondly, if this is a proper assumption, would simply changing a few constants in the sources code help achieve my objective or would a lot more work be necessary? Lastly, are my assumptions concerning the number of samples required off base?
Thanks
Marcus D. Jacobs
···
_________________________________________________________________
MSN Messenger with backgrounds, emoticons and more. http://www.msnmessenger-download.com/tracking/cdp_customize