CG渲染概念

2021-09-23 20:41:48 字數 1068 閱讀 8506

1.渲染render

*把3d變為2d的過程,指用軟體從模型生成影象的過程。模型是用嚴格定義的語言或者資料結構對於三維物體的描述,它包括幾何、視點、紋理以及照明資訊。

*首先定位攝像機的位置(四個預設的攝像機:頂檢視、正檢視、側檢視和透檢視),我們大多數時候渲染的是透檢視,透檢視的攝像機基本遵循真實攝像機的原理。

*然後處理空間感:處理遮擋關係、計算光源、計算陰影、根據物體的材質來計算物體表面

2.著色shade:

*是一種顯示方案,和三維模型的線框圖一樣起到輔助觀察模型的作用。很明顯,著色模式比線框模式更容易讓我們理解模型的結構。它提供了非常直觀、實時的表面基本著色效果,根據硬體的能力,還能顯示出紋理貼圖、光源影響甚至陰影效果,但這一切都是粗糙的。

3.光柵化rasterization:

*計算機的螢幕是二維的平面座標,以左上角為原點,x軸向右增加,y軸向下增加

*三維物體在二維螢幕上的顯示,大致分為以下幾步:(1)座標變換(transform):將場景中的三維座標轉換為二維座標(2)顏色計算(shade):計算每個頂點的顏色(那麼乙個三角形的顏色怎麼規定呢?*三個頂點顏色取平均值*取某乙個頂點的顏色*三個頂點顏色的漸變),通過uv貼圖的顏色,結合光照,透明度等,計算出模型每個頂點的具體顏色(r, g, b)。(3)光柵化(rasterization):假定螢幕解析度為1920×1080,在二維螢幕渲染(光柵化)時,記憶體中frame buffer只儲存著1920×1080個螢幕點的顏色,然後乙個乙個的畫到螢幕上。(x, y, z, alpha等等屬性要在另外的地方儲存。)

*光柵化,就是計算出1920×1080這麼長的rgb陣列中,每乙個rgb的值:

4.體素化voxelization:

*體素化能夠對模型進行簡化,得到均勻的網格,輸入是三角麵片,輸出體素化格仔。

*體素化無非是對模型所在空間進行劃分成網格,並決定網格是否有被模型覆蓋。

CG語言 基本光照渲染

本人新人一枚,想要將自己所學分享給大家,如有錯誤或不足請大家毫不猶豫的指出,謝謝大家的支援!那麼開始吧 乙個物體我們能看見是通過被光線照亮後經過反射進入我們的眼睛後大腦成像。計算機 gpu 就是計算進入眼睛之前的各個步驟得到的從而給我們反饋乙個結果。計算公式 su cecolor emissive ...

渲染中的概念(unity mitsuba)

相機和感測器屬性,例如裁剪平面和fov。在這裡,您還可以看到乙個轉換屬性的示例,該示例使用 lookat 方法指定轉換。mitsuba還支援將變換指定為平移 旋轉 縮放,或者直接指定變換矩陣。如果您決定在xml檔案中設定乙個不錯的攝像頭位置,請確保不要在應用程式中移動攝像頭,然後將其儲存!準時燈,區...

Cg語言介紹

在歷史上,圖形硬體都是從非常低層上進行開發的。通過設定狀態,例如貼圖合併 texture bining 模式,來設定固定功能的管線 pipelines 更近一些的時候,程式設計師可以通過使用組合語言層的程式設計介面來設定可程式設計管線。理論上來說,這些低層的程式語言提供了極大的靈活性。在實際應用中,...