1.jsyeh.org/3dcg10下載data.zip、windows.zip(範例)、glut32.dll
2.將glut32.dll複製到windows,這樣就可以跑範例Shapes
3.打開範例Shapes,滑鼠點綠色可以上下一定調整位置顏色
滑鼠右鍵可以選擇Shape
4.把data放進windows,可以執行maya模型
5.介紹程式
gl 是opencv的函式,大小寫不可更改
glBegin(GL_QUAD_STRIP)///開始
glColor3f(1.00 ,1.00 ,1.00 );///3是3個參數浮點數,(R,G,B)
glVertex2f(50.0,100.0);///2是2個參數浮點數,(x頂點,y頂點)
6.打開openGL

7.打開GLUT檔
把程式刪到如下
#include <GL/glut.h>
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSwapBuffers();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
///glutInitWindowSize(640,480);
/// glutInitWindowPosition(10,10);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
///glutReshapeFunc(resize);
glutDisplayFunc(display);
///glutKeyboardFunc(key);
///glutIdleFunc(idle);
glutMainLoop();
return EXIT_SUCCESS;
}
8.畫茶壺
在 display加 glutSolidTeapot(0.3);如下
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidTeapot(0.3);
glutSwapBuffers();
}
9.畫三角型
複製下面程式碼
glBegin(GL_TRIANGLES);
glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 1.0f);
glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f);
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(-0.87f, -0.5f);
glEnd();
放到display裡
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glColor3f(1.0f, 0.0f, 0.0f); glVertex2f(0.0f, 1.0f);
glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f);
glColor3f(0.0f, 0.0f, 1.0f); glVertex2f(-0.87f, -0.5f);
glEnd();
glutSwapBuffers();
}
10.右鍵activate project 會變粗體並執行檔案
11.開GLUT專案
程式碼如下
#include <GL/glut.h>///GLUT外掛
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清畫面
glutSoildTeapot(0.3);///畫茶壺
glutSwapBuffers();///交換畫面秀出來
}
int main(int argc, char *argv[])///主要函式
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("05160080");
glutDisplayFunc(display);
glutMainLoop();///主要的迴圈
return EXIT_SUCCESS;
}
12.如果有兩個 glColor3f會執行glutSoildTeapot上面的那個
glColor3f(0,0,1); ///藍色
glColor3f(1,0,1); ///紫色
glutSoildTeapot(0.3);///畫茶壺
上面的茶壺會是紫色
13.
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);///清畫面
glBegin(GL_POLYGON);///畫多邊形
glColor3f(1,0,0); ///紅色
glVertex2f(0,1);///上面
glColor3f(0,1,0); ///綠色
glVertex2f(1,0);///右邊
glColor3f(0,0,1); ///藍色
glVertex2f(-1,0);///左邊
glEnd();
/// glColor3f(1,0,1); ///紫色
///glutSoildTeapot(0.3);///畫茶壺
glutSwapBuffers();///交換畫面秀出來
}
14.HW2可以用小畫家來找點,用滑鼠動來看是幾*幾的像素
glVertex2f((小畫家像素x-150)/150,(小畫家像素y-150)/150);

沒有留言:
張貼留言