Synthesis and rendering of bidirectional texture functions on arbitrary surfaces
Microsoft Research Asia, Beijing, China
IEEE Transactions on Visualization and Computer Graphics, 2004
@article{liu2004synthesis,
title={Synthesis and rendering of bidirectional texture functions on arbitrary surfaces},
author={Liu, X. and Hu, Y. and Zhang, J. and Tong, X. and Guo, B. and Shum, H.Y.},
journal={Visualization and Computer Graphics, IEEE Transactions on},
volume={10},
number={3},
pages={278–289},
year={2004},
publisher={IEEE}
}
The bidirectional texture function (BTF) is a 6D function that describes the appearance of a real-world surface as a function of lighting and viewing directions. The BTF can model the fine-scale shadows, occlusions, and specularities caused by surface mesostructures. We present algorithms for efficient synthesis of BTFs on arbitrary surfaces and for hardware-accelerated rendering. For both synthesis and rendering, a main challenge is handling the large amount of data in a BTF sample. To addresses this challenge, we approximate the BTF sample by a small number of 4D point appearance functions (PAFs) multiplied by 2D geometry maps. The geometry maps and PAFs lead to efficient synthesis and fast rendering of BTFs on arbitrary surfaces. For synthesis, a surface BTF can be generated by applying a texton-based synthesis algorithm to a small set of 2D geometry maps while leaving the companion 4D PAFs untouched. As for rendering, a surface BTF synthesized using geometry maps is well-suited for leveraging the programmable vertex and pixel shaders on the graphics hardware. We present a real-time BTF rendering algorithm that runs at the speed of about 30 frames/second on a mid-level PC with an ATI Radeon 8500 graphics card. We demonstrate the effectiveness of our synthesis and rendering algorithms using both real and synthetic BTF samples.
July 10, 2011 by hgpu