| With the rapid development of computer graphics and continuous improvement of computer hardware, photorealistic rendering becomes a part of core content of computer graphics. Chasing better effect and faster speed is the direction of researcher now.Photon mapping is a flexible, simple and powerful global illumination algorithm. With photon mapping, color bleeding, subsurface scattering and caustics can be achieved easily. Participating media can be rendered by photon mapping as well. In traditional photon mapping, some corner or gap cannot get enough illumination energy and the noise problem by asymmetric distribution of photons, therefore final gathering is used together with photon mapping to optimize rendering.Although the final gathering algorithm is proposed earlier than photon mapping, it is a supplement to photon mapping in rendering effects. However, final gathering costs much more time than photon mapping because of the repetition of running shader program. We use point cache file to store the temporary value of photon mapping by pre-computing, as a result we do not need to repeat running shader program and we only need to read the cached value. Using this method, we can reduce much time to render the scene with indirect and color bleeding.As a famous computer animation computer in the world, Pixar creates Renderman specification and is employing the specification in computer animation industry now. Renderman has been proved to be a successful specification already with many renders being used nowadays. So we choose Renderman render as our research and experiment platform.The main content of this paper is divided by two parts:1) Based on photon mapping and final gathering, how to reduce the render time is our main work in this paper. The repeatedly running of shader results in photon mapping and final gathering running slowly. This paper uses point cache to reduce the times of running shader program to speed up rendering. This paper firstly pre-computes irradiance using photon map and stores it in point cache. Generally, the size of point cache is much smaller than the size of photon map. What’s more, the algorithm of this paper can reduce a lot of rendering time with less noise and good rendering quality.2) Photon mapping can be used to render participating media too. In this paper, rendering participating media is the second content. Firstly, light fog is rendered with raymarching algorithm. Secondly, based on volume photon mapping, volume caustic is rendered with volume caustic photon map. Finally, when estimating radiance, this paper proposes a new method to adaptively choose the searching number of photons with the distance between point and light source, which can optimize rendering quality. |