Week 02 - Part 1 - 使用較高級的GLUT
先開啟一個OpenGL專案
開啟一個GLUT專案
再開啟一個GLUT專案命名為week02_mytirangle(今天的程式碼通通都寫在這個專案裡)
將week02_mytriangle專案中main.cpp的所有程式刪除,寫下自己的程式碼
#include <stdio.h>
#include <GL/glut.h>
///使用比較高級的GLUT (OpenGL User Toolkit)
int main (int argc,char ** argv)
///這個參數的意思,是把作業系統的參數塞進來
///argc : 參數個數
///argv : 參數的字串值
{
for(int i=0;i<argc;i++){
printf("argv[%d]:%s\n",i,argv[i]);
}
}
打開已經接壓縮的freeglut→bin 複製 freeglut.dll
打開week02_mytriangle → bin → Debug 將剛剛複製的freeglut.dll貼上
打開cmd小黑盒子看剛剛程式的結果
C:\Users\N>cd Desktop\week02_mytriangle\bin\Debug
C:\Users\N>cd Desktop\week02_mytriangle\bin\Debug>week02_triangle.exe show the result
最後就可以看到結果了!!!
Week 02 - Part 2 - 畫出茶壺
#include <stdio.h>
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT); ///清畫面
glutSolidTeapot(0.3); ///大小為0.3的茶壺
glutSwapBuffers(); ///交換double buffers來顯示畫出來的畫面
}
int main (int argc,char ** argv) ///主要的函式 main
///這個參數的意思,是把作業系統的參數,塞進來
{
glutInit(&argc,argv); ///初始Initialize你的glut參數設定
glutInitDisplayMode(GLUT_DOUBLE); ///顯示模式:double buffers
glutCreateWindow("Week02 Hello World Triangle"); ///建立視窗
glutDisplayFunc(display); ///顯示函式display()來畫圖
glutMainLoop(); ///主要的迴圈,來控制程式
}
幫茶壺上色
void display()
{
glClearColor(64/255.0,0,128/255.0,1); ///背景的顏色和透明度
glClear(GL_COLOR_BUFFER_BIT);
glColor3ub(255,174,201);///今天教的程式:Color
glutSolidTeapot(0.3);
glutSwapBuffers();
}
今天教的程式碼:Color(兩種寫法)
(1)glColor3f(1,174/255.0,201/255.0); ///3f : 3代表3個參數,f代表float浮點數(0.0~1.0)
(2)glColor3ub(255,174,201); ///ub : unsigned char byte(0~255)
///括號中代表 R G B : glColor3f(R,G,B)/glColor3ub(R,G,B)
幫背景上色
glClearColor(64/255.0,0,128/255.0,1);
///幫背景上色,括號中代表 R,G,B,透明度,glClearColor(R,G,B,透明度)
Week 02 - Part 3 - My Triangle 畫出一個三角形
利用點線面來畫出一個三角形
void display()
{
glClearColor(64/255.0,0,128/255.0,1);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);///開始畫
glColor3ub( 0 ,255,255); glVertex2f(-1,-1);///glColor3ub(R,G,B) 上色
glColor3ub(255,255,128); glVertex2f(+1,-1);///glVertex2f(x,y) 代表頂點位置
glColor3ub(255,128,255); glVertex2f(0,1);
glEnd();///結束畫
glutSwapBuffers();
}
















沒有留言:
張貼留言