早安各位朋友
今天這篇文章是接續上一篇→(OpenGL紅色甜甜圈)
做好上一篇的設定之後我們會得到以下的圖型
#include <GLUT/glut.h>(使用GLUT外掛)
#esle(是其他電腦)
- static void resize(int width, int height)(圖形大小)
- static void display(void)(圖形的各種設定)
- static void key(unsigned char key, int x, int y)(下指令)
- static void idle(void)(閒置時動作)
- int main(int argc, char *argv[])(圖形的各種設定)
最後將兩個函室內清空,留下我們需要的程式
來解釋一下簡單程式碼的用途
static void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
為了不留下殘影(初始化顏色|圖形)
glBegin(GL_TRIANGLES);(開始openGL中內建的圖型)(三角形)
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);
上三行的1.glColor3f表示顏色;3f表示有三個參數
其中(1.0f),的f代表浮點數1.0代表方位
2.glVertex2f表示點的位置;2f表示有2個參數(因為是2D)
其中(0.0f),的f代表浮點數(0.0f)代表位置
glEnd();(結束openGL)
glutSwapBuffers();呼叫後面的GLUT_DOUBLE
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);(設定GLUT的初始化)
glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);(顯示模式)
glutCreateWindow("GLUT Shapes");(開啟GLUT視窗[""]內是視窗名稱)
glutDisplayFunc(display);(顯示視窗)
glutMainLoop();(GLUT主要的迴圈,讓畫面停留)
}
要在static void display(void)中加入glutSolidTeapot(0.3);
茶壺就結束了!
這裡是一個額外計算參數控制的程式
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("現在的 argc是:%d\n",argc);
for(int i=0;i<argc;i++){
printf("argc是:[%d]是:%s\n",i,argv[i]);
}
}
按下執行之後還要開啟cmd系統管理員去呼叫應用程式,接著直接在應用程式後輸入字串就可以計算有幾個參數了.









沒有留言:
張貼留言