光線的使用

11
1 光光光光光

Upload: felix-combs

Post on 02-Jan-2016

21 views

Category:

Documents


0 download

DESCRIPTION

光線的使用. 光線的種類介紹. Ambient Light( 周遭 ) 光線來自四處 , 非特定位置所發出的光線 特性 被照射的物體 , 在 每個方向 . 角度 上受到 等量 的光線. 光線的種類介紹 (1/2). Diffuse Light( 漫射 ) 有方向性 , 均勻 照射到表面 ex: 午後太陽光從窗戶射入 Specular Light( 反射 ) 有方向性 , 使物體 反射 到某個角度 入射角度有關係 Ex: 聚光燈 , 太陽光 光線成分 : R,G,B,alpha (0~1) alpha: 0 透明 , 1 完全不透明 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 光線的使用

1

光線的使用

Page 2: 光線的使用

2

光線的種類介紹 Ambient Light( 周遭 )

光線來自四處 , 非特定位置所發出的光線 特性

被照射的物體 , 在每個方向 .角度上受到等量的光線

Page 3: 光線的使用

3

光線的種類介紹 (1/2) Diffuse Light( 漫射 )

有方向性 ,均勻照射到表面 ex: 午後太陽光從窗戶射入

Specular Light( 反射 ) 有方向性 , 使物體反射到某個角度 入射角度有關係 Ex: 聚光燈 , 太陽光

光線成分 : R,G,B,alpha (0~1) alpha: 0 透明 , 1 完全不透明

任何光源皆由以上三種光線組成 , 所佔成分有所不同

Page 4: 光線的使用

4

光線的種類介紹 (2/2) 一般模擬出泥土 , 樹木 , 衣料 , 比較色彩

單調的物體 , 設定 Ambient, Diffuse 就足夠

金屬表面的反射則需要使用 Specular Light

Page 5: 光線的使用

5

加入光線 啟動燈光 :

glEnable(GL_LIGHTING); 設定 Lighting Model

1. 定義光的亮度 Glfloat ambientLight [ ] = {1.0f,1.0f,1.0f,alpha} ;

2.glLightModelfv(GL_LIGHT_MODEL_AMBITNT,ambientLight);

第一個參數 : 設定 lightModel 參數 第二個參數 : 以 RGB 值建構光源

Page 6: 光線的使用

6

設定光源 開啟 light 0, 及設定強度

glEnable(GL_LIGHT0) glLightfv(GL_LIGHT0,GL_AMBIENT,AM_Light) 參數 :

GL_Light0 : 可以有 8 個光源 ,0~7, 開啟第零號光源 GL_Ambient: 使用的光線種類 AM_Light: 設定光線的強度

Ex: ------------ 給與第零號光源 -------------- glLightfv(GL_LIGHT0,GL_DIFFUSE,ambientLig

ht); glLightfv(GL_LIGHT0,GL_SPECULAR,specular);

Page 7: 光線的使用

7

設定光源的位置 定義位置陣列 :

GLfloat lightPos[] = { 0.0f, 0.0f, 60.0f, 1.0f }; 最後為 0, 光線在這個陣列所指定的向量無限遠處 .

加入到光源內 glLightfv(GL_LIGHT0,GL_POSITION,lightPos);

Page 8: 光線的使用

8

設定材質屬性 設定材質屬性

目的 : 經由設定材質 , 多邊型才能反射光線 1. 以陣列設定方式

Glfloat gray[]={0.75f ,0.75f ,0.75f}; glMaterialfv(GL_FRONT, GL_SPECULAR,gray)

參數 : Gl_FRONT: 材質屬性應用到多邊行的 前 , 後 , 兩側 指定要哪依種屬性 RGBA 陣列值

Page 9: 光線的使用

9

設定材質屬性 2. color tracking 直接藉由 glcolor 來設定材質屬性

glEnable(GL_COLOR_MATRIAL); glcolor3f(0.7f,0.7f,0.7f) glColorMaterial(GL_FONT,GL_AMBIENT_AND_DI

FFUSE);

Page 10: 光線的使用

10

COLOR TRACKING 優點 優點 :

節省陣列設定的步驟 在多邊型數目多時 , 執行速度快

Page 11: 光線的使用

11

光源測試