2020年3月31日 星期二

圖學筆記-05

前情提要:


點擊下載:




1.Light

 寫出3D圖形(打光過的圖形)

先宣告光的屬性值



{__f,__f,__f,__f}
更改顏色
const GLfloat light_ambient[]  = {__f,__f,__f,__f};
Ambient=環境光
const GLfloat light_diffuse[]  = {__f,__f,__f,__f};
Diffuse=散射光
const GLfloat light_specular[] = {__f,__f,__f,__f};
Specular=鏡面光
const GLfloat light_position[]={__f,__f,__f,__f};
藉此可以改變光的位置



主程式:


解說:
glEnable(GL_DEPTH_TEST);
這個是讓圖形具有3D的功能

注:glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
這個是顯卡預設原有的功能,可寫可不寫

display: 


成果


2.Motion

用滑鼠移動光線






glutPostRedisplay(); 
用於清除畫面
類似
成果




3.Reshape(resize)

透過視窗大小調整物體的像




解說

static void resize (int width, int height)
表示固定的

glOrtho(前,後,上,下,左,右)
透過視窗大小固定長寬比來調整物體的像



4.更改Materal的顏色


沒有留言:

張貼留言