開始做OpenGL的練習
---
glutInitDisplayMode() 定義雙口的顯示模式
GLUT_SINGLE: 繪圖命令在窗口執行(可能會看到繪圖的過程)
GLUT_DOUBLE: 繪圖命令在窗口外完成, 完成後再顯示到窗口上 (也就是緩衝模式)
GLUT_RGB: 指定RGB顏色模式的窗口
GLUT_RGBA: 指定RGBA顏色模式的窗口 (A為Alpha, 指的是不透明度)
GLUT_ALPHA: 窗口顏色份量包含不透明度
GLUT_DEPTH: 深度緩存
GLUT_ACCUM: 累加緩存
GLUT_STENCIL: 模板緩存
GLUT_STEREO: 立體窗口
GLUT_INDEX: 顏色索引模式
GLUT_MULTISAMPLE: 多樣本功能
---
---
程式碼:
#include "GL\freeglut.h"
void display()
{
glClearColor(0.5, 0.5, 0.5, 1); //清除畫面的顏色
glClear(GL_COLOR_BUFFER_BIT); //清除畫面
glLoadIdentity(); //不讓之前殘留的矩陣資料影像後面的運算
//開始畫圖
glBegin(GL_TRIANGLES); //設定畫的圖為三角形
glColor3f(1, 0, 0); glVertex2f(-0.5, -0.5);
glColor3f(0, 1, 0); glVertex2f(0.5, -0.5);
glColor3f(0, 0, 1); glVertex2f(0, 0.5);
glEnd();
//結束畫圖
glutSwapBuffers(); //把畫好的東西刷上去
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);//初始化glut
glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE); //初始化顯示器
glutInitWindowPosition(100, 100); //初始化視窗左上角的位置
glutInitWindowSize(600, 600); //初始化視窗大小
glutCreateWindow("DING"); //視窗名稱
glutDisplayFunc(display); //顯示器
glutMainLoop();
return 0;
}
---
運行結果:
No comments:
Post a Comment