練習打光
基本茶壺程式碼
#include <GL/glut.h>
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
利用內建的GLUT內的程式-可更改打光方向
const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };
試著將此行程式碼數值改成
const GLfloat light_position[] = { 2.0f, 5.0f, 0.0f, 0.0f };
增加後的程式碼→只要多增加一組 glPushMatrix();
glPopMatrix();即可畫出另一個茶壺
#include <GL/glut.h>
float angle=0;
static void display(void)
{
angle++;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glTranslatef(0,0.6,0);
glutSolidTeapot(0.3);
glPopMatrix();
glPushMatrix();
glRotatef(angle,0,1,0);
glutSolidTeapot(0.3);
glPopMatrix();
glutSwapBuffers();
}
● 確認下方程式碼有glutIdleFunc(display);-讓視窗閒置時即可執行display{}
畫出各種基礎幾何多邊形
1. glutSolidTeapot(大小); ///茶壺
2. glutSolidCube(大小); ///方塊
3. glutSolidCone(底 r , 高 h , slice , stack); ///圓錐 (slice柳丁切 stack堆疊)
4. glutSolidSphere(r , slice,stack); ///圓球
5. glutDedocahedron(); ///十二面體
6. glutIcosahedron(); ///二十面體
沒有留言:
張貼留言