圖形學系列 Ch12-Data Structures for Graphics-閲讀筆記

本節介紹圖形學中最基本的,最常用的幾種數據結構:網格結構(mesh structures),空間數據結構(spatial data structures),場景圖(scene graphs)和平鋪多維數組(tiled multidimensional arrays)。

網格結構中將介紹“翼邊”結構(the winged-edge data structure)和“半邊”結構(the half-edge structure)。這兩種結構在管理模型時非常有效,特別是在模型簡化或細分時;場景圖主要用於管理場景中物體閒的關係與變換等;對於空間數據結構,主要介紹三種管理空間物體的方法——BVH、層級空間細分和均匀空間細分;最後平鋪多維數組介紹如何提高内存訪問效率。

圖形學系列 Ch11-Texture Mapping-閲讀筆記

何爲紋理?在圖形學中,定義物體表面空間變化屬性,即隨著空間位置變換,物體表面呈現出不同屬性,但這種屬性并未真的改變整個物體表面形狀,我們將這種變換的屬性稱爲物體表面紋理。

圖形學中,爲了在物體表面獲得紋理效果,會使用紋理映射(texture mapping)技術:該技術使用一幅圖像,稱爲紋理圖(texture maptexture imagetexture),該圖像包含所有物體表面紋理信息,然後通過數學上的映射,將該圖像“放置”到物體表面。

本章討論紋理表示物體表面細節、陰影和反射。基本思想比較簡單,但是在實際應用中會遇到一些問題。第一,紋理圖通常需要扭曲使用,因此設計紋理圖到物體表面的函數映射關係是一個巨大的挑戰;第二,紋理映射是一個重采樣過程,重采樣就容易出現走樣現象,許多紋理映射器的複雜度高就是爲了解決這些走樣失真導致的。

圖形學系列 Ch9-Signal Processing-閲讀筆記

在圖形學中,經常需要處理連續函數,但是,計算機只能處理離散的數據,通常的做法就是將連續函數離散化后交給計算機處理,之後在重建出連續函數。生活中也有許多離散化的例子,例如數碼相機拍照、手寫數位板以及CT掃描等。

本章將先從一維數字信號的采樣和重建。然後介紹一維和二維采樣和重建背後的數學原理和算法。最後將從頻域的角度深入討論。

圖形學系列 Ch8-the Graphic Pipeline-閲讀筆記

本章节介绍第二种(第一种是第四章中的ray tracing)渲染方式:逐个将物体绘制到屏幕上。两者的不同在于:ray tracing每个像素会被哪些几何图元影响,而本章节中的渲染方式是每个几何图元影响哪些像素。这种处理几何图元占据图像像素的过程称为光栅化,这种对物体逐个光栅化的过程称为光柵化渲染。這種起始於物體,終止于圖像像素更新的流程稱爲圖形化管綫(graphic pipeline)。本章先從光柵化開始,在介紹其前後的流程分別如何進行的。Graphic pipeline整個過程如下圖所示。

圖形學系列-Ch6 Transformation Matrices-閲讀筆記

6.1 2D-綫性變換 6.1.1 Scaling $$ scale(s_x, s_y) = \begin{bmatrix} s_x,& 0 \\ 0,& s_y \end{bmatrix} $$ 6.1.2 Shearing $$ shear_x(s) = \begin{bmatrix} 1,& s\\ 0,& 1 \end{bmatrix} = \begin{bmatrix} 1,& \tan{\phi}\\ 0,& 1 \end{bmatrix} $$ $$ shear_y(s) = \begin{bmatrix} 1, & 0\\ s, & 1 \end{bmatrix} = \begin{bmatrix} 1,& 0\\ \tan{\phi},& 1 \end{bmatrix} $$ 6.1.3 Rotation $\phi$逆時