本文提供一個最基礎的 OpenGL 程序範例,使用 GLUT (OpenGL Utility Toolkit) 庫來建立視窗並繪製一個簡單的綠色矩形。這是學習 OpenGL 圖形程式設計的典型入門起點。
#include "stdafx.h"
#include <GL/glut.h>
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT); // 清除顏色緩衝區
glColor3f(0.0f, 1.0f, 0.0f); // 設定當前繪圖顏色為綠色 (R=0, G=1, B=0)
glRectf(-0.5f, -0.5f, 0.5f, 0.5f); // 繪製一個矩形,座標範圍為 (-0.5, -0.5) 到 (0.5, 0.5)
glFlush(); // 強制執行所有未完成的 OpenGL 命令
}
void test(int argc, char** argv)
{
glutInit(&argc, argv); // 初始化 GLUT
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); // 設定顯示模式:RGB 色彩模式 + 單緩衝
glutInitWindowPosition(100, 100); // 設定視窗初始位置
glutInitWindowSize(600, 400); // 設定視窗大小
glutCreateWindow("第一個 OpenGL 程序"); // 建立視窗並設定標題
glutDisplayFunc(&myDisplay); // 註冊顯示回調函數
glutMainLoop(); // 進入 GLUT 事件處理主循環
}
void main(int argc, char* argv[])
{
test(argc, argv);
}
GLUT_RGB 表示使用 RGB 色彩模式,GLUT_SINGLE 表示使用單緩衝區(雙緩衡通常用於動畫,此處靜態圖形單緩衝即可)。myDisplay)。GL_COLOR_BUFFER_BIT 表示清除顏色緩衝區,預設清為黑色。請確保開發環境已正確配置 OpenGL 與 GLUT (或 FreeGLUT) 的頭文件與庫文件路徑。在 Visual Studio 中,通常需在專案屬性中加入 opengl32.lib, glu32.lib, glut32.lib 等附加相依性。