雜項:apple,linux內建OpenGL
window:#include <GL/glut.h>連結GLUT函式庫
--------------------------程式碼---------------------------------------------
int main(int argc, char *argv[])
argc參數數量 argv[]參數存為字串
{
glutInit(&argc,argv);
啟始化glut庫
glutInitDisplayMode(GLUT_DEPTH|GLUT_DOUBLE|GLUT_RGBA);
設定顯示模式
glutCreateWindow("window_name");
建立glut視窗(視窗名)
glutMainLoop();
主要迴圈
return 0;
}
-----------------------------------------------------------------------------
雜項:
GLUT函式說明
https://www.opengl.org/resources/libraries/glut/spec3/spec3.html
-----------------------------------------------------------------------------
void display()
{
glClearColor(1,0,0,0);
設定(標示)背景顏色(R,G,B,半透明度)
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
清理背景顏色
glColor3f(1,0,1);
設定(標示)物件顏色(R,G,B)
f為浮點數 0~1
glutSolidTeapot(0.3);
畫實心茶壺(大小)
glutSwapBuffers();
交換前、後緩衝區
}
glutDisplayFunc(display);
顯示函式
加在MainLoop前

glVertex3f(1,1,0);
glEnd();

-----------------------------------------------------------------------------
glBegin(GL_POLYGON);
開始畫圖(指定為多邊形)
glVertex3f(1,1,0);
glVertex3f(-1,1,0);
glVertex3f(0,-1,0);
頂點們(X,Y,Z軸)
glEnd();
結束畫圖
小技巧(漸層):
glBegin(GL_POLYGON);
glColor3f(0,0,1);
glVertex3f(1,1,0);
glColor3f(1,0,0);
glVertex3f(-1,1,0);
glColor3f(0,1,0);
glVertex3f(0,-1,0);
glEnd();


沒有留言:
張貼留言