計算機3D介紹

2021-05-01 17:04:12 字數 2298 閱讀 2189

1

:計算機

3d介紹:

1.1影象數位化:

最早,我們的影象用過色盤來表示影象的顏色,既

256種不同的顏色來表示,畫面記憶體只需要

1byte

的索引數值,但是色彩很單調,現在在已經淘汰了。現在我們通過

rgb各

8bit

來表示顏色,既,

3元色,可以混合出我們的所有顏色。在

1024x768

的分辯率下,其佔儲存量:

1024x768x3bytes = 2.25mb,

而在硬體上都是

4的倍數的位址才能執行,所以實際占用了

1024x768x4bytes = 3mb,

那我們不就浪費了空間了嗎,其實麼有,我們在

rgb上又加上了乙個

alpha(

透明色)

來表示顏色的透明度。

1.23d

畫面的產生:

其實3d

和我們的照相一樣,把

3d的世界拍成

2d的**。在

3d中,所有的物體都是基本多邊形組合成,

3角形最常用。我們把世界上的物體的表面通過多邊形拼湊起來,再通過在面上貼圖,來模擬現實的物體。這時,我們會發現其實我們的

3d物體都是空心的,對。但在遊戲中,我們會通過碰撞檢測來防止玩家進入到物體內部去。

在現實中,前面的物體會擋住後面的物體,讓我們只能看到前面的物體,但是在

3d程式中,沒有什麼時麗說當然的,現在的顯示卡,我們都是通過乙個

z_buffer

的來儲存當前畫素離我們

camera

的距離,當我們的乙個多邊形點轉換成畫素點時,顯示卡會計算當前點到

camera

的距離,然後和前面已儲存的畫素點的

z_buffer

進行比較,如果更近,那麼更新畫素的色彩,並更新

z-buffer,

如果更遠,那麼不更新當前畫素點。可以看到這樣離我們遠的物體就被近的物體擋住了,不會顯示出來。但是問題也跟著出來,想想,如果是透明的物體,那麼這樣會出現什麼樣的問題。那麼透明的物體我們又該怎麼處理呢

?(這裡,我們就不能使用

z-buffer

了,只有把透明的物體排序,先畫遠的,再畫近的

)。我們通常用

16bits/24bits

來儲存z-buffer,

但是硬體

4bytes

的規則,我們還是用了

32bits

來儲存了,是不是又浪費了呢,其實沒有,在

24bits

的z-buffer

下,我們又加上了

8bits

的stencil-buffer,

來占用空間,後面會介紹

s-buffer.

1.3動畫:

最常見的動畫是幀動畫,當幀率超過

30fps

的時候人的眼睛就看不出來一頁頁的變化了,而是感覺成乙個連貫的動畫了。在我們

d3d中,我們是通過

double buffer

來實現交換頁的操作的,一塊用來儲存已經畫的

buffer,

一塊用來儲存正在畫的

buffer

,而螢幕上顯示的永遠是畫好的

buffer

,這樣不會讓玩家看到畫畫的過程。其實在我們

d3d中,呼叫

device->present

的時候,就是在交換2個

buffer,

讓將剛畫好的現實出來,而另一又用來準備新的畫面。在

win下,是通過

copy buffer

來實現的,在

full

下是通過

swap buffer

來實現的,這樣省略的拷貝動作。

1.4gpu:

圖形處理晶元:我們遊戲愛好者的上帝j,

其強力的浮點運算能力和並行處理能力讓我們的

3d世界變得更加強大。我們常說的

gpu程式設計是,

vertex shader/pix shader/geometry shader.

使我們的多邊形的操作和色彩的設定都放到的

gpu中,例如矩陣,

4vector

等運算放到了

gpu中,通過並行能力,遠遠超過了

cpu的運算能力,現在吵的火熱的

cuda

就是乙個很好的例子。以後的發展,

gpu將不只是圖形的處理專用,而是平行演算法的核心應用領域。

好了,今天就這些了,希望能堅持下去,雖然很多是書上的,但是還是加了些自己的理解:)

渲染管線計算機如何繪製3d物體

1.3d渲染過程 是輸入3d模型 到顯示卡處理 顯示卡處理的這就是渲染管線流程 然後輸出2d cpu處理顯示到電腦螢幕上 2.渲染管線流程 1 頂點處理 1。3dmax 或者maya生成的 fbx等格式的檔案 就是記錄模型上點 的座標 然後交給顯示卡處理 2。3d模型記錄的都是自己的座標 然後轉換到...

3D 燈光介紹

環境光 散射光鏡面光 發散光環境光是那些在環境中進行了充分的散射,無法分辨其方向的光。它會均勻的照亮物體。漫反射光來自某個方向,但在物體表面上向各個方向上反射,無論在何處觀察,散射光看上去亮度都相同。我們之所以能看到物體,就是因為物體將入射的光向各個方向反射 所以稱之為漫反射 鏡面光來自乙個特定的方...

視差原理 計算機如何構造人眼3D視覺

平時我們能夠看到的二維影象,能夠讓自己具備三維立體效果的有 立體 3d電影 vr虛擬實境。也許你會說當你看到一種普通的 時,仍然能夠分辨物體之間的前後立體關係,但其實這只是利用光影效果 明暗對比來體現的,這跟我們身體所處或眼睛所看到的立體世界 上下 左右 前後 有著本質差別,因為普通始終是二維空間。...