湖北經濟學院的計算機是否強,graphics-ch11-真實感圖形繪制_湖北經濟學院:計算機圖形學_ppt_大學課件預覽_高等教育資訊網...

第十一章 真實感圖形技術

1,簡單光照明模型

2,多邊形繪制方法

3,透明

4,整體觀照明模型

5,光線跟蹤算法

第十章 真實感圖形繪制

光照模型 (Illumination Model):計算某

一點的光強度的模型

11.1 真實感圖形的 特點

? 能反映物體表面顏色和亮度的細微變化

? 能表現物體表面的質感

? 能通過光照下的物體陰影,極大地改善場景的

深度感和層次感,充分體現物體間的相互遮擋

關系

? 能模擬透明物體的透明效果和鏡面物體的鏡面

效果

影響觀察者看到的表面顏色的因素

① 物體的幾何形狀

②光源 位置、距離、顏色、數量、強度、種類

③環境 遮擋關系、光的反射與折射, 陰影

④視點位置

⑤物性 材料、顏色、透明度 折射性

⑥表面光潔度

光源

① 幾何性質

– 點光源

– 線光源

– 面光源

② 光譜組成

– 白色光等能量的各種波長可見光的組合

– 彩色光

– 單色光

11.2 真實感圖形學早期發展

? 1967年,Wylie等人第一次在顯示物體時

加進光照效果,認為光強與距離成反比。

? 1970年,Bouknight提出第一個光反射模

型,Lambert漫反射+環境光

? 1971年,Gouraud提出漫反射模型加插值

的思想

? 1975年,Phong提出圖形學中第一個有影

響的光照明模型

相關物理知識

? 光的傳播

– 反射定律:入射角等于反射角,而且反射光

線、入射光線與法向量在同一平面上

光源 法向量

入射光 反射光

視線

折射定律

– 折射定律:折射線在入射線與法線構成的平

面上,折射角與入射角滿足

入射光

折射光

?

?

2

?

1

?

1

2

s in

s in

??

???

能量關系

– 在光的反射和折射現象中的能量分布:

– 下標為 i,d,s,t,v的能量項分別表示 為入射光強,

漫反射光強,鏡面反射光強,透射光強,吸

收光強

– 能量是守恒的

i d s t vI I I I I? ? ? ?

11.3 簡單光照明模型

模擬物體表面的光照明物理現象的數學

模型-光照明模型

簡單光照明模型 亦稱局部光照明模型,

其假定物體是不透明的,只考慮光源的

直接照射,而將光在物體之間的傳播效

果籠統地模擬為環境光。

可以處理物體之間光照的相互作用的模

型稱為整體光照明模型

簡單光照明模型

光照射到物體表面,主要發生:

反射

透射(對透明物體)

部分被吸收成熱能

反射光,透射光決定了物體所呈現的顏

簡單光照明模型 -環境光

假定物體是不透明的(即無透射光)

? 環境光,在空間中近似均勻分布,即在任何位置、

任何方向上強度一樣,記為 Ia

? 環境光反射系數 Ka,在分布均勻的環境光照射

下,不同物體表面所呈現的亮度未必相同,因為它們

的環境光反射系數不同。

? 光照明方程(僅含環境光),Ie = KaIa

Ie為物體表面所呈現的亮度。

簡單光照明模型 - 環境光例子

? 具有不同環境光反射系數的兩個球

0.1?aI

4.0?aK 8.0?

aK

簡單光照明模型 -環境光

? 缺點:雖然不同的物體具有不同的亮度,

但是同一物體的表面的亮度是一個恒定

的值,沒有明暗的自然過度。

簡單光照明模型

? 考慮引入點光源。

? 點光源:幾何形狀為一個點,位于空間中的某

個位置,向周圍所有的方向上輻射等強度的光。

記其亮度為 Ip

? 點光源的照射,在物體的不同部分其亮度也不

同,亮度的大小依賴于物體的朝向及它與點光源之間

的距離,

簡單光照明模型,-漫反射 角度

余弦的推導

? 漫反射

– 粗糙、無光澤物體(如粉筆)表面對光的反射

– 光照明方程

? 漫反射的亮度

? 點光源的亮度

? 漫反射系數

? 入射角

漫反射光的強度

只與入射角有關

]2,0[c o s ??? ?? dpd KII

pI

dK

?

dI

簡單光照明模型 -漫反射

? 將環境光與漫反射結合起來

一般取 Ia= (0.02~0.2)Id

? 例子

)( NLKIKIIII dpaade ?????

簡單光照明模型 -漫反射

缺點:對于許多物體,使用上式計算其反

射光是可行的,但對于大多數的物體,

如擦亮的金屬、光滑的塑料等是不適用

的,原因是這些物體還會產生鏡面發射。

簡單光照明模型 -鏡面反射

? 鏡面反射

– 光滑物體(如金屬或塑料)表面對光的反射

? 高光

– 入射光在光滑物體表面形成的特別亮的區域

簡單光照明模型 -鏡面反射

? 理想鏡面反射

? 觀察者只能在反射方向上才能看到反射

光,偏離了該方向則看不到任何光。

簡單光照明模型 -鏡面反射

? 非理想鏡面反射

? P為物體表面上一點,L為從 P指向光源的單位

矢量,N為單位法矢量,R為反射單位矢量,V

為從 P指向視點的單位矢量

光滑平面

I = Ip K scosna

鏡面

簡單光照明模型 -鏡面反射

? 鏡面反射

? Is為 鏡面反射光強。 點光源的亮度

– Ks是與物體有關的鏡面反射系數。 n為 鏡面反射指數,n越

大,則 Is隨 a的增大衰減的越快。

– n的取值與表面粗糙程度有關。

– n越大,表面越平滑(散射現象少,稍一偏離,明

暗亮度急劇下降)

– n越小,表面越毛糙(散射現象嚴重)

ansps KII c o s? nsps RVKII )( ??

pI

簡單光照明模型 -鏡面反射

– 反射方向計算

– L在 N上的投影矢量為 Ncosu,則 S+L= Ncosu

記矢量 S= Ncosu -L

則有 R= Ncosu +S

? ? LLNNLNR ????? 2c o s2 ?

N

R

L V

??

S S

簡單光照明模型 -Phong光照明模型

? 簡單光照明模型模擬物體表面對光的反

射作用,光源為點光源

? 反射作用分為

– 物體間作用用環境光 (Ambient Light)

– 漫反射 (Diffuse Reflection)

– 鏡面反射 (Specular Reflection)

簡單光照明模型 -Phong光照明模型

? Phong光照明模型的綜合表述:由物體表

面上一點 P反射到視點的光強 I為環境光

的反射光強 Ie、理想漫反射光強 Id、和鏡

面反射光 Is的總和。

])()([ nsdpaa

sde

RVKNLKIKI

IIII

?????

???

簡單光照明模型 -Phong光照明模

型的實現

? 對物體表面上的每個點 P,均需計算光線

的反射方向。為了減少計算量,假設:

– 光源在無窮遠處,L為常向量

– 視點在無窮遠處,V為常向量

– ( H?N)近似( R?V),H為 L與 V的平分向量

N HL R

a

Vb

H----L和 V的角平分線

? 對所有的點總共

只需計算一次 H的

值,節省了計算

時間

簡單光照明模型 -Phong光照明模型

? Phong模型幾何

P

L N H

R

V

簡單光照明模型 -光的衰減

? 光的衰減

兩個階段:

1)從光源到物體表面的過程中的衰減

2)從物體表面到人眼過程中的衰減

總的效果:物體表面的亮度降低

? 光照明方程

1)有效衰減函數的加入

2)深度暗示技術的加入

簡單光照明模型 -光的衰減

? 光的衰減

– 光在光源到物體表面過程中的衰減

– 光強按 1/d2 進行衰減:

缺點:當 d很大時,變化很小;當 d很小時,變

化很大。

? 衰減函數

? 光照明方程

)1,1m i n ()( 2

210 dcdcc

df ???

])()([)( nsdpaa RVKNLKIdfKII ?????

簡單光照明模型 -光的衰減

– 光在物體表面到人眼過程中的衰減

? 深度暗示( Depth Cueing)技術:最初用于線框

圖形的顯示,使距離遠的點比近的點暗一些。經

過改進,這種技術同樣適用于真實感圖形顯示。

? 設前參考面 Z=Zf,后參考面 Z=Zb;其比例因子

分別為 Sf和 Sb( Sf和 Sb e[0,1])。給定物體上一

點的深度值 Z0,該點對

應的比例因子 S0按如下

方式確定

前參考面

后參考面

簡單光照明模型 -光的衰減

? 當 Z0 >Zf時,取 S0=Sf

? 當 Z0

? 當 Z0e [Zb,Zf]時,取

? 原亮度 I按比例 S0與融和亮度 Idc混合,目

的是獲得最終用于顯示的亮度 I’, Idc由

用戶指定,

)( 00 b

bf

bf

b ZZZZ

SSSS ?

?

???

dcISISI )1( 00 ????

簡單光照明模型 -光的衰減

? 特例:

? 取 Sf=1,Sb=0,Idc=0,則當物體位于參考面

之前時,S0= Sf= 1,I’ =I,即亮度沒有

被衰減。當物體位于后參考面之后時,

S0 = Sb =0,I’ =Idc=0,即亮度衰減為 0。

而當 Z0e [Zb,Zf]時,I’ =S0I,亮度被部分

衰減。由此可以產生較好的效果。

dcISISI )1( 00 ????

簡單光照明模型 -彩色場景的產生

? 產生彩色

– 選擇合適的顏色模型 ----RGB模型

– 為顏色模型中的每一種基色建立光照明方程

?

?

?

?

?

?????

?????

?????

])()([)(

])()([)(

])()([)(

n

sBdBpBaBaBB

n

sGdGpGaGaGG

n

sRdRpRaRaRR

RVKNLKIdfKII

RVKNLKIdfKII

RVKNLKIdfKII

簡單光照明模型 -彩色場景的產生

– 系數分解

? 上述各等式中,右端的矢量用來控制表面的基本

顏色,當選定了物體表面的顏色之后,它們就固

定不變了。用戶通過調節 Ka,Kd,Ks來改變表

面的反射率。

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

dB

dG

dR

a

aB

aG

aR

C

C

C

K

K

K

K

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

dB

dG

dR

d

dB

dG

dR

C

C

C

K

K

K

K

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

sB

sG

sR

s

sB

sG

sR

C

C

C

K

K

K

K

簡單光照明模型 -彩色場景的產生

– 新的光照明方程

– 統一表示

?

?

?

?

?

?????

?????

?????

])()([)(

])()([)(

])()([)(

n

sBsdBdpBaBdBaB

n

sGsdGdpGaGdGaG

n

sRsdRdpRaRdRaR

RVCKNLCKIdfICKI

RVCKNLCKIdfICKI

RVCKNLCKIdfICKI

])()([)( nssddpada RVCKNLCKIdfICKI ????? ??????

BGR,,??

簡單光照明模型 -多個光源

? 采用多個光源

– 采用 m個光源的光照明方程

?

?

???

??

m

i

n

issiddpi

ada

RVCKNLCKIdf

ICKI

i

1

])()([)( ???

???

簡單光照明模型 -多個光源

– 例子:其中 a圖:線框圖 b圖:環境光

c圖:增加漫反射 d圖:增加鏡面反射

e圖:增加光的衰減 f圖:兩個點光源

Phong光照明模型的 不足

? Phong光照明模型是真實感圖形學中提出

的第一個有影響的光照明模型

? 經驗模型,Phong模型存在不足:

– 顯示出的物體象塑料,無質感變化

– 沒有考慮物體間相互反射光

– 鏡面反射顏色與材質無關

– 鏡面反射大入射角失真現象

11.4 多邊形繪制方法

? 分類,均勻著色與光滑著色

? 均勻著色

方法:任取多邊形上一點,利用光照明方

程計算出它的顏色,用這個顏色填充整

個多邊形

適用場合,1)光源在無窮遠處;

2)視點在無窮遠處;

3)多邊形是物體表面的精確表示;

多邊形繪制方法

? 缺點:產生的圖形效果不好。

? 如左圖:相鄰兩個多邊形的法向

不同,計算出來的顏色也不同,

因此造成整個物體表面的顏色過

渡不光滑。

? 如何解決?

? 光滑著色,亦稱插值著色

Gouraud著色方法

Phong著色方法

Gouraud著色方法

? Gouraud于 1971年提出,又被稱 Gouraud

明暗處理

? 基本思想:在每個多邊形頂點處計算顏

色,然后在各個多邊形內部進行線性插

值,得到多邊形內部各點顏色。即它是

一種 顏色插值著色方法。

? 注意,Gouraud著色方法并不是孤立的處

理單個多邊形,而是將構成一個物體表

面的所有多邊形(多邊形網格)作為一

個整體來處理。

Gourand 著色方法

? 對多邊形網格中的每一個多邊形,

Gourand 著色處理分為如下四個步驟:

– 步驟

1、計算多邊形的單位法矢量

2、計算多邊形頂點的單位法矢量

? 與某個頂點相鄰的所有多邊形的法向平

均值近似作為該頂點的近似法向量

? 計算出的平均法向一般與該多邊形物體

近似曲面的切平面比較接近

Gouraud著色方法 -頂點法向計算

?

?

?

??

n

i

n

i

i

v

Ni

N

N

1

1

Gourand 著色方法

3、利用光照明方程計算頂點光強(顏色)

4、對多邊形頂點光強(顏色)進行雙線性

插值,獲得多邊形內部各點的光強(顏色)

Gourand 著色方法 -光強插值

? 雙線性光強插值:假設待繪制的三角形投影為

P1P2P3,Pi的坐標為 (xi,yi),i=1,2,3;一條掃描

線與三角形的兩條邊分別交于 A(xA,yA),B(xB,yB)

兩點。 P(x,y)是 AB上的一點。 A點的顏色 IA由 P1、

P2點的顏色 I1,I2線性插值得到

B

AB

A

A

AB

B

P

BB

B

AA

A

I

xx

xx

I

xx

xx

I

I

yy

yy

I

yy

yy

I

I

yy

yy

I

yy

yy

I

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

3

31

1

1

31

3

2

21

1

1

21

2

Gourand 著色方法 -增量算法

? 采用增量算法可以加速計算。

? 1)當掃描線 y遞增一個單位變為 y+1時,

IA,IB的增量分別為 DIA, DIB,即

31

31

21

21

,1,,1,

yy

II

I

yy

II

I

IIIIII

BA

ByByBAyAyA

?

?

?D

?

?

?D

D??D?? ??

其中:

Gourand 著色方法 -增量算法

? 2)當 x遞增一個單位時,IP的增量為 DIP即

AB

AB

P

PxPxP

xx

II

I

III

?

?

?D

D??

?

其中:

,1,

Gourand 著色方法

? 優點,能有效的顯示漫反射曲面,計算量小

? 缺點:

? 1、高光有時會異常

? 2、當對曲面采用不同的多邊形進行分割時會產生不同

的效果。

? 3,Gouraud明暗處理會造成表面上出現過亮或過暗的

條紋,稱為馬赫帶( Mach_band)效應

? 改進- Phong提出雙線性法向插值,以時間為代價,解

決高光問題

Phong著色方法

? 基本思想:通過對多邊形頂點的法矢量進

行插值,獲得其內部各點的法矢量,又稱

為法向插值著色方法。

– 步驟

1、計算多邊形單位法矢量

2、計算多邊形頂點單位法矢量

3、對多邊形頂點法矢量進行雙線性插值,獲

得內部各點的法矢量

4、利用光照明方程計算多邊形內部各點顏色

Phong著色方法 -法向插值

NA由 N1,N2線性插值得到:

B

AB

A

A

AB

B

P

BB

B

AA

A

N

xx

xx

N

xx

xx

N

N

yy

yy

N

yy

yy

N

N

yy

yy

N

yy

yy

N

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

3

31

1

1

31

3

2

21

1

1

21

2

Phong著色方法 -增量算法

? 采用增量算法可以加速計算。

? 1)當掃描線 y遞增一個單位變為 y+1時,

NA,NB的增量分別為 DNA, DNB,即

31

31

21

21

,1,,1,

yy

NN

N

yy

NN

N

NNNNNN

BA

ByByBAyAyA

?

?

?D

?

?

?D

D??D?? ??

Phong著色方法 -增量算法

? 2)當 x遞增一個單位時,IP的增量為 DIP即

AB

AB

P

PxPxP

xx

NN

N

NNN

?

?

?D

D??

?

其中:

,1,

Phong著色方法

優點:

Phong著色方法繪制的圖形比 Gouraud方法更

真實,體現在兩個方面:高光區域的擴散,產

生正確的高光區域

缺點:

1,Phong著色方法計算量遠大于 Gouraud著

色方法

2、在處理某些多邊形分割的曲面時,Phong

算法還不如 Gouraud算法好。

增量式模型示例

? 牛的三角網格模型

? 用簡單光照明模型顯示

? 用增量式光照明模型顯示

插值多邊形繪制方法

? 著色方法存在的問題

– 不光滑的物體輪廓:物體邊緣輪廓是折線段

而非光滑曲線

插值著色多邊形繪制方法

– 透視變形

– 方向依賴性

插值著色多邊形繪制方法

– 公共頂點處顏色不連續

– 頂點方向不具有代表性

11.5 透明

? 現實世界中有許多透明物體,如玻璃等。

透過透明物體,可以觀察到其后面的景

物。如何模擬這種透明效果呢?

? 模擬透明的最簡單的方法是忽略光線在

穿過透明體時所發生的折射。雖然這種

模擬方法產生的結果不真實,但在許多

場合往往非常有用。例如:我們有時希

望能夠看到透過某透明物體觀察其后面

的景物,而又不希望景物應為折射而發

生變形。

透明效果的簡單模擬

? 不考慮透明體對光的折射以及透明物體

本身的厚度

? 光通過物體表面不改變方向

? 產生簡單透明效果的方法

插值透明方法

過濾透明方法

),( yx

a

I

b

I

透明體

不透明體

簡單透明 -插值透明

? 假設:多邊形 1是透明的,它

位于觀察者與不透明的多邊形

2之間。像素的顏色 I?由 A,B

兩點的顏色 I?1和 I?2插值產生,

? 其中 Kt1是多邊形 1的透射系數。

? Kt1范圍( 0,1)

? Kt1 =0表示多邊形完全不透明,

所以 I? = I?1

? Kt1 =1表示多邊形完全透明,

所以 I? = I?2

21 11 )1( ??? IKIKI tt ???

簡單透明 -插值透明

? 為了產生逼真的效果,

通常只對兩個多邊形表

面顏色的環境光分量和

漫反射分量采用

?

? 進行計算,得到的結果

再加上多邊形 1的鏡面反

射分量作為像素的顏色

值。

21 11 )1( ??? IKIKI tt ???

簡單透明 -過濾透明

? 過濾透明方法將透明物體看

作一個過濾器,有選擇的允

許某些光透過而屏蔽了其余

的光。對右圖有:

? 其中 Kt1仍是多邊形 1的透射系

數,但不再局限于 (0~1)。 Kt1

越大,多邊形 2的顏色透過來

的越多。 Ct?對不同的顏色各

不相同。 Ct? =0表示某種顏色

的光不能透過多邊形 1。

21 1 ???? ICKII tt??

簡單透明

? 無論采用插值透明方法還是采用過濾透

明方法,當多邊形 1之前還有其它的透明

多邊形時,I?都要遞歸計算。

? 簡單透明比較容易結合到多邊形繪制算

法中。

考慮折射的透明

? 折射定律

? 其中,?i, ?t分別是入射

光線在空氣,物體中的

折射率,?i, ?t分別是入

射角和折射角

i

t

t

i

?

?

?

? ?

s in

s in

考慮折射的透明 -透射矢量的計算

– 設單位入射光矢量為 I

(方向與光線的入射

方向相反),單位法

矢量為 N,單位透射

光矢量為 T,則

INT

INM

M

IN

t

NMT

ti

i

t

i

i

ti

i

t

t

????

??

?

?

?

?

??

?

?

?

?

?

???

????

?

?

??

??

)c o sc o s(

c o s

c o s

s i n

i

s i n

c o s

考慮折射的透明

? 當光線從高密度介質向低密度介質時,

?i>?t,即 ?t>?i。如果入射角不斷增大,到

一定的程度,折射角 ?t?90度,此時透射

光線沿著平行于分界面的方向傳播,稱

此時的 ?i為臨界角度,記為 ?c 。當 ?i > ?c

時,發生全反射,透射與反射光合二為

一。

? 如何產生帶有折射的透明效果呢?

光透射模型的研究

? 早期簡單透射現象的模擬

? 1980年,Whitted光透射模型,首次考慮

了光線的折射現象

? 1983年,在 Whitted的基礎上,Hall光透

射模型,考慮了漫透射和規則透射光

11.6 整體光照明模型

簡單光照模型(亦稱局部光照模型)不考

慮周圍環境對當前景物表面的光照明影

響,忽略了光在環境景物之間的傳遞,

很難表現自然界復雜場景的高質量真實

感圖形。為了增加圖形的真實感,必須

考慮環境的漫射、鏡面反射和規則投射

對景物表面產生的整體照明效果。

整體光照明模型

? 物體表面入射光的構成

( 1)光源直接照射

( 2)其它物體的反射光

( 3)透射光

? 局部光照明模型僅考慮了( 1)

整體光照明模型

? 例如:從視點觀察到的物體 A表

面的亮度來源于三方面的貢獻:

( 1)光源直接照射到 A的表面,然

后被反射到人眼中的光產生的。

( 2)光源或其它物體的光經 A物體

折射到人眼中的光產生的。

( 3)物體 B的表面將光反射到物體

A的表面,再經物體 A的表面反

射到人眼中產生的。

? 局部光照明模型僅考慮了( 1)

Witted光照模型

? Whitted光照模型基于如下假設:

? 物體表面向視點方向 V輻射的光亮度 I?由三

部分組成:

( 1)光源直接照射引起的反射光亮度 Il?。

( 2)來自 V的鏡面反射方向 R的其它物體反

射或折射來的光的亮度 Is?。

( 3)來自 V的透射方向 T的其它物體反射或

折射來的光的亮度 It?

Witted光照模型

? Witted光照模型,I?= Il? + Ks Is? + KtIt?

? 或

– Is?為鏡面反射方向的入射光強度; Ks為鏡面

反射系數,為 0~ 1之間的一個常數

– It?為折射方向光強,Kt為透射系數,是 0 ~

1之間的常數

– Il?的計算可采用 Phong模型

因此,關鍵是 Is和 It的計算。如何計算呢?

?????? tttsssl ICKICKII ???

Witted光照模型 -反射、折射方向計算

? 已知視線方向 V,求其反射方向 R與折射

方向 T( N是表面的法向方向 )

? 視線 V的反射方向 R

? 折射方向 T

N

V

R

L

T

i

?

i

?

t

?

i

?

t

?

VVNNR ??? )(2

INT ti

t

i

????

?

?

?

???

?

)c o sc o s(

光線跟蹤算法的基本原理

? 自然界中光線的傳播過程

光源 物體表面 物體表面

人眼

? 光線跟蹤過程 ----光線傳播的逆過程

光線跟蹤算法的基本原理

? 從視點向每個 象素發出一

條光線,它與場景中的一

些物體表面相交,最近的

交點即為可見點,記為 P,

像素的亮度即由 P點的亮

度確定。由 Whitted光照

模型可知,P點的亮度由

三部分組成:其中 Il?可以

直接由局部光照模型計算

得到。

光線跟蹤算法的基本原理

? 為了求 Is?和 It?,從 P點發出反射光線和透射光線,它分別交場

景中的物體表面于 Ps和 Pt,Ps和 Pt點的亮度即分別為 Is?和 It?,

將它們求出代入 Whitted模型即可。但是,Is?和 It?同樣由

Whitted模型確定,即 Whitted模型是一個遞歸式,從而計算 Is?

和 It?需要重復以上的計算過程,計算局部光亮度、發出反射光

線與透射光線。。。可以用一棵光線樹來表示

光線跟蹤算法的基本原理

? 遞歸終止條件:

1、光線不與場景中的任何物體相交

2、被跟蹤的光線達到了給定的層次

3、由于 Ks和 Kt都小于 0,當光線經過反射

和折射后,其亮度會衰減。因此可以預

先設置一個閾值,在進行光線跟蹤時,

若被跟蹤光線對像素亮度的貢獻小于這

個閾值,便停止跟蹤。

光線跟蹤算法 -算法描述

設置視點,投影平面以及窗口的參數;

For (窗口內的每一條掃描線)

for (掃描線上的每一個像素)

{ 確定從視點指向像素中心的光線 ray;

像素的顏色 =RayTracing(ray,1);

}

光線跟蹤算法描述Color RayTracing(Ray ray,int depth)

{ 求 ray與物體表面最近的交點 P;

if (有交點)

{ 用局部光照明模型計算 P點的 Ic;

color = Ic;

if ( depth

{ 計算 ray的反射光線;

Is=RayTracing(反射光線,depth+1);

if (物體是透明的)

{ 計算 ray的透射光線;

It=RayTracing(透射光線,depth+1);

}

color = Ic + Is + It ;

}

} else color = black;

return color ;

}

光線跟蹤算法

根據光線跟蹤基本原理,假設在顯示分辨率為

N× M的屏幕上生成圖形,必須從視點出發通過

屏幕向景物發射 N× M條光線。設每根光線在場

景中經過反射和折射平均派生出 d根光線,并

設每一景物交點朝光源發射 m 條陰影探測光線,

則總的光線數增加至 (m+1)dNM。當 m為 2,d為 5,

N為 800,M為 600時,其光線數目是 720萬條。

這意味著需進行 720萬次直線與景物的求交計

算才能完成圖形的繪制。龐大的求交量使圖形

繪制耗費大大增加。生成一幅中等復雜程度的

真實感圖形需要數分鐘至數小時。

光線跟蹤算法

優點:

能夠方便的產生陰影,模擬鏡面反射與

折射現象。

缺點:

計算量大,每一條光線都要與場景中的

物體進行求交、計算光照模型等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388416.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388416.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388416.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ARP攻擊網絡上不去,可以進行mac地址綁定

紅色部分是需要敲的命令 Microsoft Windows [版本 6.1.7600] 版權所有 (c) 2009 Microsoft Corporation。保留所有權利。 C:\Users\dell>arp -s 顯示和修改地址解析協議(ARP)使用的“IP 到物理”地址轉換表。 ARP -s inet_addr eth_addr [if_addr] ARP -d inet_addr [if…

《獨家記憶》見面會高甜寵粉 張超現場解鎖隱藏技能

1月23日,由愛奇藝出品,小糖人聯合出品的沉浸式成長練愛劇《獨家記憶》在京舉行粉絲見面會。愛奇藝高級副總裁陳宏嘉,愛奇藝副總裁、自制劇開發中心總經理、《獨家記憶》總制片人戴瑩,小糖人董事長、《獨家記憶》總制片人朱振華&am…

計算機軟件技術基礎fifo算法,軟件技術基礎真題

一、填空1、數據結構按邏輯結構可分為兩大類,它們分別是線性和非線性2.1、在長為n的順序存儲的線性表中插入和刪除元素時所需移動元素的平均次數(等概率情況下)為:Einn/2,Ede(n-1)/22.2、順序表有5個元素,設在任何位置上插入元素是…

NOI 2016 優秀的拆分 (后綴數組+差分)

題目大意:給你一個字符串,求所有子串的所有優秀拆分總和,優秀的拆分被定義為一個字符串可以被拆分成4個子串,形如$AABB$,其中$AA$相同,$BB$相同,$AB$也可以相同 作為一道國賽題,95分…

多元線性回歸 python_Python中的多元線性回歸

多元線性回歸 pythonVideo Link影片連結 This episode expands on Implementing Simple Linear Regression In Python. We extend our simple linear regression model to include more variables.本集擴展了在Python中實現簡單線性回歸的方法 。 我們擴展了簡單的線性回歸模型…

關于apache和tomcat集群,線程是否占用實驗

測試目的: 測試在apache入口的時候進入,當Tomcat的一個請求陷入死循環,或者線程進入循環無反應的時候,是否此時占用apache的線程資源。 測試原因: 如果要是影響,無論tomcat線程設置成多大,都…

爬蟲之數據解析的三種方式

一,正則表達式解析 re正則就不寫了,前面已經寫入一篇很詳細的正則表達式模塊了~ 而且,在爬蟲中,下面兩種方式用的多一些~ 正則表達式:https://www.cnblogs.com/peng104/p/9619801.html 大致用法: pattern …

相對于硬件計算機軟件就是,計算機的軟件是將解決問題的方法,軟件是相對于硬件來說的...

計算機網絡管理軟件是為計算機網絡配置的系統軟件。它負責對網絡資源進行組織和管理,實現相互之間的通信。計算機網絡管理軟件包括網絡操作系統和數據通信處理程序。前者用于協調網絡中各計算機的操作系統及實現網絡資源的傳遞,后者用于網絡內的通信&…

數據冒險控制冒險_勞動生產率和其他冒險

數據冒險控制冒險Labor productivity is considered one of the most important indicators of a country’s well-being. However, we don’t know so much about it, let’s try to figure out how it is calculated, and how things are with it in the world (data source:…

如何把一個java程序打包成exe文件,運行在沒有java虛

如何把一個java程序打包成exe文件,運行在沒有java虛 核心提示:首先,將編譯好的程序打包成jar文件,然后做出exe,這樣代碼就不可見了;但是exe文件在沒有安裝jre的電腦上不能運行,如果要求客戶再去…

Java后端WebSocket的Tomcat實現

原文:https://www.cnblogs.com/xdp-gacl/p/5193279.html 一.WebSocket簡單介紹 隨著互聯網的發展,傳統的HTTP協議已經很難滿足Web應用日益復雜的需求了。近年來,隨著HTML5的誕生,WebSocket協議被提出,它實現了瀏覽器與…

加速業務交付,從 GKE 上使用 Kubernetes 和 Istio 開始

原文來源于:谷歌云技術博客 許多企業機構正在把全部或部分 IT 業務遷移到云端,幫助企業更好的運營。不過這樣的大規模遷移,在企業的實際操作中也有一定難度。不少企業保存在本地服務器的重要資源,并不支持直接遷移到云端。 另外&a…

knn 鄰居數量k的選取_選擇K個最近的鄰居

knn 鄰居數量k的選取Classification is more-or-less just a matter of figuring out to what available group something belongs.分類或多或少只是弄清楚某個事物所屬的可用組的問題。 Is Old Town Road a rap song or a country song?Old Town Road是說唱歌曲還是鄉村歌曲…

計算機網絡中 子網掩碼的算法,[網絡天地]子網掩碼快速算法(轉載)

看到一篇很好的資料,大家分享有很多人肯定對設定子網掩碼這個不熟悉,很頭疼,那么我現在就告訴大家一個很容易算子網掩碼的方法,幫助一下喜歡偷懶的人:)大家都應該知道2的0次方到10次方是多少把?也給大家說一…

EXTJS+JSP上傳文件帶進度條

需求來源是這樣的:上傳一個很大的excel文件到server, server會解析這個excel, 然后一條一條的插入到數據庫,整個過程要耗費很長時間,因此當用戶點擊上傳之后,需要顯示一個進度條,并且能夠根據后…

android Json詳解

Json:一種輕量級的數據交換格式,具有良好的可讀和便于快速編寫的特性。業內主流技術為其提供了完整的解決方案(有點類似于正則表達式 ,獲得了當今大部分語言的支持),從而可以在不同平臺間進行數據交換。JSON采用兼容性…

react實踐

React 最佳實踐一、 React 與 AJAXReact 只負責處理 View 這一層,它本身不涉及網絡請求 /AJAX: 第一,用什么技術從服務端獲取數據; 第二,獲取到的數據應該放在 react 組件的什么位置。 事實上是有很多的:fetch()、fetc…

什么樣的代碼是好代碼_什么是好代碼?

什么樣的代碼是好代碼編碼最佳實踐 (Coding Best-Practices) In the following section, I will introduce the topic at hand, giving you a sense of what this post will cover, and how each argument therein will be approached. Hopefully, this will help you decide w…

nginx比較apache

話說nginx在大壓力的環境中比apache的表現要好,于是下載了一個來折騰一下。 下載并編譯安裝,我的編譯過程有點特別: 1。去除調試信息,修改$nginx_setup_path/auto/cc/gcc這個文件,將 CFLAGS"$CFLAGS -g" …

計算機主板各模塊復位,電腦主板復位電路工作原理分析

電源、時鐘、復位是主板能正常工作的三大要素。主板在電源、時鐘都正常后,復位系統發出復位信號,主板各個部件在收到復位信號后,同步進入初始化狀態。如圖7-11所示為復位電路的工作原理圖,各個十板實現復位的電路不盡相同&#xf…