2022年3月29日 星期二

AhFatKr的電腦圖學筆記week06

 week06

jsyeh.org/3dcg 下載win32 data

windows.zip => 下載windows => 解壓縮到桌面 => Light Material

data.zip => windows => data => 模型

(左上右鍵)左鍵旋轉功能

(左上左鍵)更換模型

(左下右鍵)選材質

1.glLightfv() fv 是float vector (陣列)

GLfloat light_pos [] ={-2.0,2.0,2.0,1.0} :陣列

glLightfv(GL_LIGHT0, GL_POSTION, 陣列)

第幾個燈

                設定它的位置

光的性質(位置,Ambient,Diffuse,Specular)

開始實作

0.freeglut裝好,libglut32.a

1.File-New-Project,GLUT專案

2.從GLUT範例偷程式碼 Ctrl-F 找light

3.(1)有陣列宣告 (2)有函式呼叫


```C++

const GLfloat light_ambient[]  = { 0.0f, 0.0f, 0.0f, 1.0f };

const GLfloat light_diffuse[]  = { 1.0f, 1.0f, 1.0f, 1.0f };

const GLfloat light_specular[] = { 1.0f, 1.0f, 1.0f, 1.0f };

const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

const GLfloat mat_ambient[]    = { 0.7f, 0.7f, 0.7f, 1.0f };
const GLfloat mat_diffuse[]    = { 0.8f, 0.8f, 0.8f, 1.0f };
const GLfloat mat_specular[]   = { 1.0f, 1.0f, 1.0f, 1.0f };
const GLfloat high_shininess[] = { 100.0f };

```

``` C++
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LESS);

    glEnable(GL_LIGHT0);
    glEnable(GL_NORMALIZE);
    glEnable(GL_COLOR_MATERIAL);
    glEnable(GL_LIGHTING);
```
整合前幾周程式碼進去

沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...