整理的學習資料

圖形學相關學習內容

光柵算法、三維觀察、隱藏面消除、光照、紋理、繪製等算法和理論,並介紹可視感知、計算機動畫、基於圖像的繪製、可視化以及構建交互式圖形應用等html

line generators, affine transformations, line and polygon clipping, splines, interactive techniques, perspective projection, solid modeling, hidden surface algorithms, lighting models, shading, and animation. Substantial programming experience is required. http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-837-computer-graphics-fall-2003/ios

Course Overview算法

Ray Tracing光線跟蹤
    Course overview
    Ray casting overview 眼睛的視野範圍內發出射線,射到物體就把他畫出來,沒射到的就不畫,能夠把ray casting想作ray tracing的子集

ray casting是指用eye來射出ray,射到的物體的那個點,就是我們eye所看到的顏色
ray tracing是光線的ray射到物體上然後物體會反射或折射出另一條ray到另外一個物體上,就這樣一直無窮迴圈下去,基本上要算ray tracing是一件很復雜的事情,
Ray casting - primitive intersections
Transformation
Hierarchy
Local illumination and shading
Recursive ray tracing
Acceleration structures編程

Animation, Modeling, and Image-based Rendering (IBR)
    Curves and surfaces
    Animation with keyframes
    Animation with physics and PDE's
    Image-based rendering
Pipeline
    Pipeline basics
    Perspective and transformations
    Line rasterization
    Polygon rasterization
    Clipping
    Visibility
Advanced Topics
    Rendering equation and Monte Carlo methods
    Radiosity
    Colors
    Antialiasing
    Texture mapping
    Procedural textures
    Shadows
    Graphics hardware

http://www.cnblogs.com/fengyuheliu/archive/2011/08/28/2155627.html
3D數據場的可視化技術,能夠分爲面繪製(surface rendering)和體繪製(volume rendering)。api

面繪製,是先抽取出3D數據場裏的某個等值面,這個等值面的表示形式,是一個元素爲三角面片的數組。這樣,接下來用OpenGL/D3D的API函數就能夠畫出結果了。面繪製經常使用的方法有MC、MT和dividing cubes等。因此,能夠說,面繪製是從原始的3D模型中抽取出咱們感興趣的某個網格模型,而忽略了其餘數據。數組

體繪製,或者叫直接體繪製(DVR, Direct Volume Rendering),就是直接對原始的3D模型進行處理,利用了整個數據場信息。體繪製結果,不僅僅能夠看到表面,還能夠透過表面(賦予必定的透明度)看到裏面。體繪製的自由度大得多,繪製結果也豐富得多,可是須要處理海量的體數據,不能直接使用圖形學API,速度慢得多。其算法族有光線投射法(ray casting)、濺射法(splatting)、錯切—變形法(shear-warp)、體元投射法(cell projection)和基於紋理映射(texture mapping)的方法。這樣說,對於外行來講,可能還不夠清楚,且看下文吧。數據結構

體繪製的加速技術能夠分爲:軟件加速和硬件加速。app

軟件加速技術有提早光線終止(early ray termination)、空間跳躍(empty space leaping)和延遲渲染(deferred shading)等。這裏,空間跳躍的實現,須要對三維數據場進行數據結構管理,如八叉樹、二叉樹和k-d樹,相似於場景管理技術。
有書名爲「Real-Time Volume Graphics」,可譯爲「實時體圖形學」。這本書很是經典!記得年初我經過館際互借從上海圖書館借來捧在手上時,如獲至寶!——尋書的過程,也使得我對「諾大一箇中國,卻無書可讀」深有感觸。我忘記了「體圖形學」是本身的譯法仍是在哪裏見過,咱們姑且用這個名稱吧。看書中第一章開頭:異步

「This book covers two seemingly very different applications of volume graphics: on the one hand, ‘special effects’ and realistic rendering of clouds, smoke, fire, and similar effects for computer games, movie production, and so forth; on the other hand, the scientific visualization of volumetric data.」async

「…both fields rely on the same underlying physical models and therefore use identical, or at least very similar, rendering techniques.」

「Therefore, volume graphics targets the same goal as computer graphics in general: the simulation of light propagation in order to produce images as recorded by a virtual camera.」

到這裏,你大概知道「3D模型不同,那麼渲染技術也不同嗎?」的答案了吧。若是還有疑問,又不想花太多時間,能夠到「Real-Time Volume Graphics」這本書的主頁上下載chapter 2的PPT看看。

異步編程

F#-inspired await/async 模型,異步編程變成了歡樂之旅。

相關文章
相關標籤/搜索