原创 untiy 3d ShaderLab_第8章_2_在效果和性能間進行權衡

第8章 基於光照貼圖的烘焙照明    Lightmap即光照貼圖,是遊戲中應用很廣泛的、便宜而且很出效果的一種模擬光照的方法。這種光照貼圖需要提前渲染,因此可以應用在靜態效果圖中,是應用很廣泛的全局照明技術。但是,這種方法一般只適用於靜態

原创 計算機圖形學(二)輸出圖元_10_多邊形填充區_4_多邊形表

多邊形表        場景中的對象一般用一組多邊形面片來描述。實際上,圖形軟件包經常提供以多邊形網格形式描述表面形狀的函數。對每一個對象的描述包括指定多邊形面片的幾何信息和其他表面參數(如顏色、透明性及光反射特性)。在輸入每個多邊形的信

原创 計算機圖形學(二)輸出圖元_11_OpenGL多邊形填充區函數(上)

OpenGL多邊形填充區函數(上)         描述填充多邊形的OpenGL過程與描述點和折線類似,但有一個例外。函數glVertex用來輸入多邊形的一個頂點座標,而完整的多邊形用從glBegin到glEnd之間的一組頂點來描述。但有

原创 計算機圖形學(二)輸出圖元_10_多邊形填充區_3_內-外測試

內-外測試        各種圖形處理經常需要鑑別對象的內部區域。識別簡單對象如凸多邊形、圓或橢圓的內部通常是一件很容易的事情。但有時我們必須處理較複雜的對象。例如,我們可能描述一個圖3.46所示的有相交邊的複雜填充區。在該形狀中,xy平

原创 計算機圖形學(二)輸出圖元_10_多邊形填充區_2_分割凹多邊形

分割凹多邊形        一旦識別出凹多邊形,我們可以將它切割成一組凸多邊形。這可使用邊向量和邊叉積來完成。我們可以利用頂點和邊延長線的關係來確定哪些頂點在其一側,哪些頂點在另一側。在下面的算法中我們假定所有多邊形均在xy平面上。當然,

原创 計算機圖形學(二)輸出圖元_6_OpenGL曲線函數_5_其他曲線

其他曲線     許多曲線函數在對象建模、動畫軌跡的描述、數據和函數的圖形化以及其他圖形應用中是十分有用的。常見的曲線包括圓錐曲線、三角和指數函數、概率分佈、通用多項式和樣條函數。這些曲線的顯示可採用類似於前面討論的圓和橢圓函數來生成。沿

原创 升級Unity5-----Unity5燈光烘焙與Unity4 燈光烘焙實際應用中的差別

一、先說說Unity4 烘焙面板裏常用的參數 Quality 烘焙質量一般會選擇高 Bounces 反彈  這個值一般選1,如果選2,烘焙的時間會增長50%左右,所以設置這個值要謹慎。 Sky Light Intensity 天

原创 untiy 3d ShaderLab_第7章_ Forward渲染路徑_2_Forward渲染路徑下的重要光源

 第7章 Forward渲染路徑    本章的主要目的是讓大家在不使用Unity的Surface Shader時,也能夠正確地存取Unity的光源數據,從而定製自己的Forward渲染路徑的Shader。如果讀者沒有這個需求,或者己經瞭解

原创 計算機圖形學(二)輸出圖元_6_OpenGL曲線函數_4_中點橢圓算法(下)

中點橢圓算法(下)          假設已經在整數屏幕座標中給定rx,ry和橢圓中心,在中點橢圓算法中我們僅需增量的整數運算來確定決策參數的值。增量r2y  、r2x和2r2yx和2r2xy僅需在程序的開始求值一次。中點橢圓算法可以

原创 untiy 3d ShaderLab_第6章_VertexLit渲染路徑_2_頂點照明和Unity存放光源的第一種方式

6.2頂點照明和Unity存放光源的第一種方式6.2.1用於調試輸出的材質    這裏面有只含有一個Pass爲LightMode=Vertex的材質。很簡單,都是爲檢測unity_LightPos_ 0在Pass的LightMode=Ve

原创 計算機圖形學(二)輸出圖元_3_畫線算法_2_DDA算法

DDA算法        數字微分分析儀(digital differential analyzer, DDA)方法是一種線段掃描轉換算法,基於使用等式(3.4)或等式(3.5)計算的&x或&y。在一個座標軸上以單位間隔對線段取樣,從而確

原创 untiy 3d ShaderLab_第6章_VertexLit渲染路徑_3_頂點照明和Unity存放光源的第二種方式

6.3頂點照明和Unity存放光源的第二種方式6.3.1用於調試輸出的材質       打開場景,其編輯器中Game視口的截圖如下所示。這個場景相比上一節檢測unity_4LightPos[X,Y, Z]0時的場景6.2精簡了很多,右邊只

原创 untiy 3d ShaderLab_第6章_VertexLit渲染路徑_1_頂點照明

    本章的主要目的是讓讀者能夠正確地存取Unity爲Vertex Pass設定的光源數據,從而定製自己爲VertexLit渲染路徑而寫的Shader。如果讀者沒有這個需求,或者說己經瞭解了Unity是如何爲VertexLit渲染路徑

原创 計算機圖形學(二)輸出圖元_3_畫線算法_1_直線方程

畫線算法       場景中的直線段由其兩端點的座標位置來定義。要在光柵監視器上顯示一線段,圖形系統必須先將兩端點投影到整數屏幕座標,並確定離兩端點間的直線路徑最近的像素位置。接下來將顏色值裝人幀緩存相應的像素座標處。視頻控制器從幀緩存讀