- 課堂範例: https://jsyeh.org/3dcg10/
1. 下載Win32的範例,並解壓縮
2. 執行Shapes.exe
- 顏色(黃色茶壺)
1. 與Week01一樣,建立一個GLUT專案(Week03_Color)
1.1 先進入 moodle 打開上課用軟體資料夾 下載 freeglut
1.2 下載好後解壓縮至桌面
1.3 打開lib資料夾 先複製一個相同的檔案 再改檔名為libglut32.a
1.4 CodeBlocks 建立 project 點選 GLUT project
1.5 修改專案名稱及檔案位置
1.6 GLUT 要在桌面的 freeglut 中
2.將所有原有程式刪除
3.模仿原有程式寫出10行程式,畫出一個黃色的茶壺
#include <GL/glut.h>
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glColor3f(1, 1, 0); ///黃色
glutSolidTeapot( 0.3 ); ///0.3大小的實心茶壺
glutSwapBuffers();///交換兩倍的buffer
}
int main (int argc, char**argv) ///進階main函式
{
glutInit(&argc, argv ); ///glut初始化
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH ); ///兩倍buffer(避免顯示出來閃爍)+ 3D
glutCreateWindow("Week03的視窗"); ///建立視窗
glutDisplayFunc( display ); ///用來畫圖的函式
glutMainLoop(); ///主要的迴圈
}
- 顏色(彩色三角形)
2. 複製茶壺的程式碼貼上
3. 修改程式碼並加上OPENGL專案裡的5行程式
#include <GL/glut.h>
void display()
{
glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
glColor3f(1, 1, 0);
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();
}
int main (int argc, char**argv)
{
glutInit(&argc, argv );
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow("Week03的彩色三角形"); ///修改視窗名稱
glutDisplayFunc( display );
glutMainLoop();
}
沒有留言:
張貼留言