OpenGL學習 一 簡單視窗繪製

2022-03-10 20:52:46 字數 1437 閱讀 2066

opengl(open graphics library),通常可以認為是api,其包含了一系列可以操作圖形、影象的函式。但深究下來,它是由khronos組織制定並維護的規範,即規定了每個函式該如何執行,以及它們的輸出值。根據該opengl的規範,開發者可編寫各類擴充套件庫

核心模式:core-profile,從opengl3.2起替代立即渲染模式的開發方式,迫使開發者使用現代方法進行開發

opengl庫的作用在於給我們提供了各類方法,opengl自身庫包含:gl核心庫、glu實用庫、glut實用工具庫(這幾個庫的介紹:opengl庫中gl、glu、glut、glaux的關係 - 極客小生)

此外,opengl的一大特性就是擴充套件,主要體現在顯示卡公司所提出的新特性可以以驅動的方法實現,開發者可以在支援這個擴充套件的顯示卡上、使用這個擴充套件提供的一些更先進更有效的圖形功能

常見到的庫有:glfw庫和、glew庫、glad庫:

流程簡介:

引用glfw、glew庫

例項化glfw視窗

建立、設定glfwwindow視窗物件

設定視窗屬性(座標、寬高)

實現渲染迴圈

結束渲染

#include#include#includeusing namespace std;

void processinput(glfwwindow *window);

int main()

設定當前opengl上下文

// 設定引數window中的視窗所關聯的opengl環境為當前環境,

// 這個環境在當前執行緒中會一直保持為當前環境,直到另乙個環境被設定為當前環境,或者視窗被刪除為止

glfwmakecontextcurrent(window);

//3. 設定視窗屬性:起始座標x,y(左下角開始),寬高畫素

glviewport(0, 0, 800, 600);

//4. 實現渲染迴圈:

// 若window視窗未關閉,則進行操作

while (!glfwwindowshouldclose(window))

//5. 渲染結束

// 釋放/刪除之前的分配的所有資源

glfwterminate();

return 0;

}//輸入事件監測函式

OpenGL學習筆記(三)OpenGL繪製方式

1 opengl圖元 點 void glpointsize 線 條帶 迴圈線 void gllinewidth 三角形 條帶 扇面 將多邊形渲染為點集 輪廓或者實體 p68 正反面採用不同的方式繪製 glpolygonmode glenum face,glenum mode face必須是gl fr...

簡單的OpenGL視窗程式

include stdafx.h include void display void int apientry twinmain hinstance hinstance,表示該程式當前執行的例項控制代碼,它是乙個數值。當程式在windows下執行時,它唯一標識執行中的例項。hinstance hpr...

OpenGL繪製簡單模型(回顧)

前言要想繪製乙個物件,需要將該物件的頂點資料傳送給頂點著色器。通常要把頂點資料在c 端放入乙個緩衝區 所謂的vbo 並將該緩衝區和著色器中宣告的頂點屬性相關聯。例如 以繪製乙個三維空間立方體傳遞資料為例。gluint vao,vbo glgenvertexarrays 1 vao 管理頂點緩衝物件,...