首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> 關於VC++

OpenGL 核心概念與 Windows 95 程式設計要點

     編輯:關於VC++

OpenGL 簡介

由 SGI 主導制定的開放標準,獲 Microsoft、IBM、Sun、HP 等大廠支援,已成三維圖形開發通用 API。廣泛應用於 3ds Max、SoftImage、Maya、ProEngineer、Arc/INFO 等專業軟體。

七大核心功能

  1. 建模:基本圖元、複雜三維物體(球、錐、茶壺)、曲線曲面。
  2. 座標變換:平移/旋轉/縮放/鏡像 + 正交/透視投影,與機器人運動學一致。
  3. 顏色模式:RGBA(真彩色)與 Color Index(調色盤)。
  4. 光照與材質:輻射/環境/漫射/鏡面光四要素,材質以反射率定義。
  5. 貼圖映射:真實表現表面細節。
  6. 位圖與影像增強:融合、反鋸齒、霧效。
  7. 雙緩衝動畫:前台顯示/後台繪製交換,實現消隱與流暢動畫。

函式庫分類

  • 核心:gl* 115 個函式。
  • 工具庫:glu* 43 個(曲面、四邊形剖分、投影矩陣)。
  • 輔助庫:aux* 31 個(視窗管理、輸入、基本物體)。
  • WGL:6 個函式,專責 OpenGL 與 Windows 視窗系統連接(RC 建立/選擇、字體位圖輸出)。
  • Win32 擴展:5 個像素格式與雙緩衝函式。

Windows 95 程式設計關鍵:RC 與像素格式

  1. 取得 DC:CClientDC dc(this);
  2. 填寫 PIXELFORMATDESCRIPTOR:
    PIXELFORMATDESCRIPTOR pfd = {
        sizeof(PIXELFORMATDESCRIPTOR), 1,
        PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER,
        PFD_TYPE_RGBA, 24,  // 24-bit 色深
        0,0,0,0,0,0, 0,0, 0,0,0,0,
        32,  // 32-bit 深度緩衝
        0,0, PFD_MAIN_PLANE, 0, 0,0,0 };
    
  3. 選擇與設定像素格式:
    int pf = ChoosePixelFormat(dc.m_hDC, &pfd);
    SetPixelFormat(dc.m_hDC, pf, &pfd);
  4. 建立並啟用渲染內容:
    HGLRC hrc = wglCreateContext(dc.m_hDC);
    wglMakeCurrent(dc.m_hDC, hrc);

後續即可在 OnDraw 或遊戲迴圈中自由呼叫 OpenGL 函式。MFC 專案建議在 CView::OnCreate 建立 RC,OnDestroy 刪除。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved