圖形學渲染和模擬有哪些必讀論文?
據大神們說這方面有很多必讀的經典論文,但是似乎都是很早之前的,小弟新人想知道在這方面都有哪些必讀的論文。
其實沒所謂的「必讀論文」,以下是我從 Microsoft Academic Search 找出的一些 SIGGRAPH 中(個人認為)經典的論文,按引用次數多至少排序:
- Kajiya, James T. "The rendering equation." ACM Siggraph Computer Graphics. Vol. 20. No. 4. ACM, 1986. http://www.cse.chalmers.se/edu/year/2011/course/TDA361_Computer_Graphics/rend_eq.pdf 用一個方程總結何謂「圖形渲染」。此經典論文所用的符號和現時的有出入。
- Shoemake, Ken. "Animating rotation with quaternion curves." ACM SIGGRAPH computer graphics. Vol. 19. No. 3. ACM, 1985. http://www.engr.colostate.edu/ECE481A2/Recommended_Readings/Rotation_Animation.pdf 把四元數帶入計算機圖形領域。
- Perlin, Ken. "An image synthesizer." ACM Siggraph Computer Graphics 19.3 (1985): 287-296. http://www.heathershrewsbury.com/dreu2010/wp-content/uploads/2010/07/AnImageSynthesizer.pdf 描述了紋理合成常用的 Perlin noise,令 Ken Perlin 獲得奧斯卡技術成就獎。
- Hoppe, Hugues. "View-dependent refinement of progressive meshes."Proceedings of the 24th annual conference on Computer graphics and interactive techniques. ACM Press/Addison-Wesley Publishing Co., 1997. http://research.microsoft.com/en-us/um/people/hoppe/vdrpm.pdf 僅使用兩個對網格的操作,就可以生成網格的連續細節細節層次,並可用於漸進串流。
- Kajiya, James T., and Brian P. Von Herzen. "Ray tracing volume densities."ACM SIGGRAPH Computer Graphics. Vol. 18. No. 3. ACM, 1984. http://www.cs.duke.edu/courses/cps296.8/spring03/papers/RayTracingVolumeDensities.pdf
- Cook, Robert L., Thomas Porter, and Loren Carpenter. "Distributed ray tracing."ACM SIGGRAPH Computer Graphics. Vol. 18. No. 3. ACM, 1984. http://graphics.pixar.com/library/DistributedRayTracing/paper.pdf
- Williams, Lance. "Casting curved shadows on curved surfaces." ACM Siggraph Computer Graphics. Vol. 12. No. 3. ACM, 1978. http://design.osu.edu/carlson/history/PDFs/shadowmaps.pdf 陰影貼圖之始。
- Moore, Matthew, and Jane Wilhelms. "Collision detection and response for computer animation." ACM Siggraph Computer Graphics. Vol. 22. No. 4. ACM, 1988. http://kucg.korea.ac.kr/seminar/2001/src/pa-01-41.pdf
- 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). Vol. 21. No. 3. ACM, 2002. http://www1.cs.columbia.edu/~ravir/6998/papers/p527-sloan.pdf
- Mark, William R., et al. "Cg: A system for programming graphics hardware in a C-like language." ACM Transactions on Graphics (TOG). Vol. 22. No. 3. ACM, 2003. http://cseweb.ucsd.edu/~ravir/274/15/papers/p896-mark.pdf
- Crow, Franklin C. "Shadow algorithms for computer graphics." Acm siggraph computer graphics. Vol. 11. No. 2. ACM, 1977. http://people.csail.mit.edu/ericchan/bib/pdf/p242-crow.pdf 這其實是 shadow volume,後來演變成 stencil shadow volume。
謝邀。
Rendering equation。Shadow map,shadow volume。
PRT。
因為不是很關心渲染,所以我只說模擬之於計算機圖形學:
1.如果你是想寫出屬於自己的高質量的 液體/煙霧/爆炸 解算器,
Fluid simulation for computer graphics, by Robert Bridson(Naiad的作者), 這本書將引導你從0開始寫出自己的高質量的解算器, 建議你結合chris batty或者我開源出來的代碼為參考.
2. 此方向比較重要的siggraph 論文有: stable fluids(stam99), visual simulation of smoke(ronFedkiw), practical animation of liquids(foster), Animating Suspended Particle Explosions(feldman), animating sand as fluids(Y. Zhu), A Fast Variational Framework for Accurate Solid-Fluid Coupling(Chris Batty). A parallel multigrid Poisson solver for fluids simulation on large grids(McAdams) A material point method for snow simulation(UCLA)
3.這些僅僅是論文, 能支撐你吃透這些論文並且創新的關鍵是對於數學工具的學習, 建議你把這些書儘可能地看以及做書後習題:
Numerical Mathematics
a first course in numerical methods
Methods of computational fluid dynamics
A multigrid tutorial
vortex methods: theory and practice.
mathematical theory of finite element method
turbulent flow
由此, 你需要對計算流體(準確地說不是流體力學,而是如何用計算機程序去解算流體的演算法)里的常見概念以及問題都比較熟悉, 比如:
數值誤差都有哪些, 分別都是如何造成的?
線性方程迭代演算法的斂散性
Krylov subspace solver的推導,特性以及應用場景.
CFL condition如何得到?(馮諾依曼分析)
如何自由地推導以及分析高階數值偏微分的CFL控制數, 收斂精度?
流體計算領域傳統的以及(尤其是)在視覺特效領域需要被解決的問題都有哪些?
此外, 你需要對湍流以及可能導致湍流的原因抱有有別於物理學家的, 創造性的思考.
並行, 內存, 數據的locality, 演算法的屬性(它的複雜度, 它更適合shared memory計算還是分散式計算?etc) 這方面 應該有一些論文可供查閱, 但個人覺得更多的是個人實踐過程中的積累.
ls們主要講了渲染和模擬中的流體部分。
我額外補充一門資料詳盡的模擬( Physically Based Animation for Computer Graphics )課程。
CS 5643 Physically Based Animation
整個課程內容幾乎包含了所有圖形學中的模擬內容,剛體,軟體,流體,粒子系統,碰撞,破碎,流體控制,甚至聲音等等。
題主有哪方面的需求,就照著裡面對應的看就行了。裡面提到的論文都是必讀的經典論文。
我也同意沒有什麼論文是必讀的,尤其是所謂「經典」的論文。通常那些經典的技術或者演算法,在它們真正普及的時候通常和提出它們的第一篇經典論文比較有比較大的差別。演算法本身會多出許多更有意思的變種。拿Shadow Map舉例子,後面的PCF,再到VSM,再到PCSS,再到Convolution Shadow Map,Cascaded Shadow map,以及我們最近弄的Hybrid Ray Traced Shadow等等,還有無數的我沒有提到的shadow map的變體。每個變體都有自己需要解決的問題,需要掌握的信息量比最初那個演算法要大很多。儘管不是每個演算法都有必要掌握,但是只有都了解了,才能自己從這些大量的信息的提取出問題的精髓,從而為自己的問題找到最合適的解決方案。
而且在學習經典演算法的時候,拋開演算法邏輯本身,往往更有價值的東西是如何在系統中高效的使用,和系統中其他可能影響到此模塊的交互,對演算法健壯性的理解(什麼時候會fail以及如何處理),高性能的實現和優化,甚至是用戶使用時候的體驗。這些東西往往在經典論文里都找不到,需要自己實踐,和人討論,積累,來一點一點提高自己的認知。
歪了一下樓,硬要我說一篇經典的,我肯定選Eric Veach的thesis:Robust Monte Carlo Methods for Light Transport Simulation
關於圖形學和實時渲染技術的好書,除所列之外還有:
Shader X 系列
Graphics Gems 系列
GPU Gems 系列
Game Programming Gems 系列
看這裡:
鼻祖論文收集
除了GPU Gems,還有GPU Pro系列,編者是Wolfgang Engel
推薦閱讀:
※有哪些篇幅很短卻意義重大的論文?
※如何準備畢業論文寫作?
※學霸推薦 論文穩拿高分的必備工具?
※網路經濟學有哪些著名的 paper 和 review?
※撰寫論文的過程中如何有效利用思維導圖?