今天一開始新增的兩個專案跟week01步驟一樣,可以去對照那天的blog。
第一個專案打開後 開啟他的程式,將框起來的程式碼複製。
第二個專案
選擇桌面
下載這個檔 解壓縮
重新命名
成功建立專案之後
打開第二個專案的程式碼 並把他整理成這樣(按那個+)
刪除程式碼到現在這樣
再打開那兩行,刪除裡面的程式碼。
剩下的程式碼如下
#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);
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
glutCreateWindow("GLUT Shapes");
glutDisplayFunc(display);
glutKeyboardFunc(key);
glutMainLoop();
}
(如下圖)
留下的程式碼都是精華!!!!
將第一個專案複製的程式碼貼到第二個專案的程式碼裡
程式碼如下
#include <GL/glut.h>//使用GLUT外掛
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();
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);//GULT初始設定
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("GLUT Shapes");//開窗
glutDisplayFunc(display);//等等要顯示的涵式
glutKeyboardFunc(key);
glutMainLoop();//主要迴圈
}
(如下圖)
之後去增加一些程式碼
程式碼如下
#include <GL/glut.h>//使用GLUT外掛
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清空
glColor3f(0.0f, 1.0f, 0.0f); glVertex2f(0.87f, -0.5f); //(這串是設定顏色,我設定的是綠色)
glutSolidTeapot(0.3);//實心茶壺
glutSwapBuffers();//交換兩倍的buffers
}
int main(int argc, char *argv[])//以前我們程式碼會寫 int main()
{
glutInit(&argc, argv);//GULT初始設定
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160520石雅慈"); //(視窗的名稱)
glutDisplayFunc(display);//等等要顯示的涵式
glutMainLoop();//主要迴圈
}
(程式執行結果如下)
將第一個專案的程式碼打開後,全部刪除,打下我們接下來要執行的程式碼。
程式碼如下
#include <stdio.h>
int main(int argc, char**argv)
{
printf("現在的argc是:%d\n",argc);
for(int i=0;i<argc;i++)
{
printf("argv[%d]是:%s\n",i,argv[i]);
}
}
開啟cmd
將檔案移進去
回到剛剛的茶壺
我們用別的方式改顏色
程式碼如下
#include <GL/glut.h>//使用GLUT外掛
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//清空
glColor3f(1,0,0);//紅色 //(跟前面改顏色不一樣的地方)
glutSolidTeapot(0.3);//實心茶壺
glutSwapBuffers();//交換兩倍的buffers
}
int main(int argc, char *argv[])//以前我們程式碼會寫 int main()
{
glutInit(&argc, argv);//GULT初始設定
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160520石雅慈"); //(視窗的名稱)
glutDisplayFunc(display);//等等要顯示的涵式
glutMainLoop();//主要迴圈
}
(程式執行結果如下)
接下來我們來加彩虹色三角形!!
程式碼如下
#include <GL/glut.h>//使用GLUT外掛
void display()
{
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();
glColor3f(1,1,0);//黃色 //(跟前面改顏色不一樣的地方)
glutSolidTeapot(0.3);//實心茶壺
glutSwapBuffers();//交換兩倍的buffers
}
int main(int argc, char *argv[])//以前我們程式碼會寫 int main()
{
glutInit(&argc, argv);//GULT初始設定
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);//顯示模式
glutCreateWindow("08160520石雅慈"); //(視窗的名稱)
glutDisplayFunc(display);//等等要顯示的涵式
glutMainLoop();//主要迴圈
}
(程式執行結果如下)



















沒有留言:
張貼留言