Real-time Dynamic Tessellation for Global Illumination

Project: Research

Project Details

Description

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.
Project number9041773
Grant typeGRF
StatusFinished
Effective start/end date1/01/136/06/17

Fingerprint

Explore the research topics touched on by this project. These labels are generated based on the underlying awards/grants. Together they form a unique fingerprint.