这个例子描述了怎么使用
D3DX
的
SHPRTSimulation
,一个
per vertex precomputed radiance transfer (PRT)
的
simulator
。使用了
low-order spherical harmonics (SH)
并把结果记录到文件中。然后描述了怎么使用
clustered principal component analysis (CPCA)
来压缩数据并在实时的
arbitrary lighting
的环境下使用
vs_1_1 vertex shader
来显示结果
.
虽然整个
Sample
的代码相对比较简单,但是背后的原理,却稍显复杂,至少对我来说,比较复杂,于是乎,查找了相关的论文,论文正在学习加翻译中,感觉受益匪浅。
参考的论文如下:
- Sloan, Peter-Pike, Jan Kautz, and John Snyder. "Precomputed Radiance Transfer for Real-Time Rendering in Dynamic, Low-Frequency Lighting Environments". ACM Transactions on Graphics (TOG), Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH), pp. 527-536. New York, NY: ACM Press, 2002.
- Sloan, Peter-Pike, Jesse Hall, John Hart, and John Snyder. "Clustered Principal Components for Precomputed Radiance Transfer". ACM Transactions on Graphics (TOG), Vol. 22, Issue 3 (SIGGRAPH), pp. 382-391. New York, NY: ACM Press, July 2003.
- Green, Robin. "Spherical Harmonic Lighting: The Gritty Details". Game Developers' Conference, San Jose, CA, March 2003.