Conventional precomputed radiance transfer (PRT) techniques encode the lighting features of
a 3D model in the per-vertex manner. That is, the lighting feature of a vertex is encoded into a
transfer vector/matrix. The appearance value of an on-screen pixel is obtained from the
interpolation of the evaluated lighting values of the vertices. Even we can use fragment
shader to implement the lighting evaluation, the transfer vector/matrix of an on-screen pixel
is obtained from the interpolation of the transfer vectors/matrices of the vertices. That means,
the rendering quality is still per-vertex based. To preserve the fidelity of high frequency
effects, 3D objects must be densely tessellated. However, trivially dense tessellation
introduces a lot of traffic between CPU and graphics processing unit (GPU). Besides, it
implies a lot of computational loading and memory loading inside GPU. So far the real-time
subdivision concept is not considered for global illumination because most of PRT techniques
cannot effectively generate accurate lighting features of newly generated vertices.This project investigates a light evaluation scheme using the concept of real time subdivision
of polygons. The appropriate tessellation level of a region of a 3D model depends on two
factors. One is the complexity of visibility functions of the vertices in the region. Another
factor is the distribution of the incoming lighting of the vertices. Since the lighting
environment is time varying, a fixed subdivision scheme before rendering may not produce
satisfactory results.An on-the-fly subdivision algorithm based on the frequency properties of incoming lighting
and visibility functions will be developed. In order to estimate the visibility function of a
newly generated vertex, a new geometric based visibility representation will be investigated.
The lighting evaluation method for this new representation will be developed.In our scheme, a 3D model, with a coarse mesh or moderate dense mesh, and its lighting
features are preloaded into GPU. Inside GPU, a frequency analysis on the rendered data will
be performed first. Afterwards, some important regions are identified. An on-the-fly
subdivision process will be used to generate additional vertices for these important regions.
The visibility functions of these additional vertices are then estimated based on the known
visibility functions and the geometric information of the original vertices. Our approach can
greatly reduce the memory and computational loadings in GPU for global illumination.