日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

《OpenGL超级宝典第5版》学习笔记(一)—— 第一个OpenGL程序

發布時間:2025/5/22 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《OpenGL超级宝典第5版》学习笔记(一)—— 第一个OpenGL程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

// GLTools庫包含了一個用于操作矩陣和向量的3D數學庫,并依靠GLEW獲得OpenGL3.3中用來產生和渲染一些簡單3D對象的函數, // 以及對視覺平截頭體、相機類和變換矩陣進行管理的函數的充分支持。 #include <GLTools.h>// GLShaderManager為GLTools的著色器管理器類。沒有著色器,我們就不能再OpenGL(核心架構)中進行著色。著色器管理器類不僅允許我們創建并管理著色器, // 還提供一組“存儲著色器”(Stock Shader),它們能夠進行一些初步和基本的渲染操作。 #include <GLShaderManager.h>// 判斷程序是在Mac上還是在Windows上建立,并選擇對應的函數庫。 #ifdef _APPLE_ #include <glut/glut.h> #else #define FREEGLUT_STATIC #include <GL/glut.h> #endifGLBatch trangleBatch; GLShaderManager shaderManager;void ChangeSize(int w, int h) {// 設置視口大小。glViewport(0, 0, w, h); }void SetupRc() {// 用當前顏色清除窗口glClearColor(0.0f, 0.0f, 1.0f, 1.0f);// 初始化著色器 shaderManager.InitializeStockShaders();// 在笛卡爾坐標系中指定三角形三個頂點的坐標。GLfloat vVerts[] = { -0.5f, 0.0f, 0.0f,0.5f, 0.0f, 0.0f,0.0f, 0.5f, 0.0f, };// 建立三角形的批次。trangleBatch.Begin(GL_TRIANGLES, 3);trangleBatch.CopyVertexData3f(vVerts);trangleBatch.End(); }void RenderScene(void) {// 清除緩沖區(顏色緩沖區、深度緩沖區、模板緩沖區)。glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);// 指定三角形的顏色為紅色。GLfloat vRed[] = { 1.0f, 0.0f, 0.0f, 1.0f };// 將顏色傳遞到存儲著色器,即GLT_SHADER_IDENTITY著色器,這個著色器只是使用指定顏色以默認笛卡爾坐標系在屏幕上渲染幾何圖形。 shaderManager.UseStockShader(GLT_SHADER_IDENTITY, vRed);// 指示將幾何圖形提交到著色器。 trangleBatch.Draw();// 啟用雙緩沖進行繪制。 glutSwapBuffers();}int main(int argc, char* argv[]) {// 設置當前工作目錄,在Windows中并不是必要的。gltSetWorkingDirectory(argv[0]);// 初始化GLUT庫。glutInit(&argc, argv);// 在創建窗口時使用下列類型的顯示模式:使用雙緩沖窗口、RGBA顏色模式、啟用深度測試以及模板測試。glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH | GLUT_STENCIL);// 設置窗口大小。glutInitWindowSize(800, 600);// 創建一個以“Triangle”為標題的窗口。glutCreateWindow("Triangle");// 窗口大小改變的回調函數。 glutReshapeFunc(ChangeSize);// 窗口重繪的回調函數。 glutDisplayFunc(RenderScene);// 重新調用GLEW庫初始化OpenGL驅動程序中所有丟失的入口點,以確保OpenGL API對我們來說完全可用。GLenum err = glewInit();if (GLEW_OK != err){fprintf(stderr, "GLEW Error: %s\n", glewGetErrorString(err));return -1;}// 創建并初始化渲染環境。 SetupRc();// 啟用主循環。 glutMainLoop();return 0 ;} View Code

程序運行結果:

?

轉載于:https://www.cnblogs.com/ppffs/p/3230213.html

總結

以上是生活随笔為你收集整理的《OpenGL超级宝典第5版》学习笔记(一)—— 第一个OpenGL程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91久久精品一区二区三 | 一级成人免费 | 亚洲综合影院 | 亚洲av无码一区二区乱子仑 | 在线观看深夜视频 | 日韩一区二区三区精品 | 九九热精品 | 欧美精品自拍视频 | a久久久久久 | 色久天堂 | 国语精品久久 | 久久草视频在线 | 亚洲精品视频一区二区 | 狠狠躁 | 91成人一区二区三区 | 国产成人久久久 | 日本一区高清 | 超碰97干| 国产激情视频一区 | 免费看黄色一级大片 | 欧美猛操 | 人妻视频一区二区三区 | 喷水少妇| 1级性生活片 | 成人激情视频 | 爱综合网| 五月天婷婷丁香 | 日本在线一区 | 欧美老熟妇乱大交xxxxx | 德国老妇性猛交 | 男人的天堂日韩 | 97人人看| 91亚洲国产成人久久精品麻豆 | www视频在线免费观看 | 国产精品suv一区二区三区 | 91嫩草在线 | 丁香七月激情 | 天堂a√在线 | www.国产麻豆 | 中文字幕一区二区精品 | 俄罗斯porn| 91视频免费观看网站 | 麻豆欧美| 日本五十路在线 | 激情拍拍拍| 青青五月天| 性做久久久久久免费观看 | 亚洲四虎av| 日韩免费在线视频观看 | 欧美韩国日本一区 | 香蕉人人精品 | 国产a级黄色 | 成人在线免费观看网站 | 欧美日韩免费视频 | 中文字幕av久久 | 国产高清亚洲 | 2020狠狠干| 久草新视频 | 在线欧美日韩国产 | 国产剧情久久久 | 欧美午夜精品理论片a级按摩 | 永久免费,视频 | 日本在线视频中文字幕 | 91视频久久久久 | 国产伦精品一区二区三区视频痴汉 | 自拍啪啪 | av有码在线 | 一级黄色片免费在线观看 | 久久影院精品 | 蜜臀99久久精品久久久久小说 | 琪琪女色窝窝777777 | 超碰97在线人人 | 丰满少妇大力进入 | 久久九九热视频 | 欧美成人一区二区视频 | 在线观看免费www | 在线黄av| 欧美日韩理论 | 国产精品免费视频一区二区三区 | 国产乱淫av麻豆国产 | 午夜在线不卡 | 日韩不卡一二区 | 亚洲免费色 | 亚洲20p | 欧美性极品xxxx做受 | 男人午夜视频 | 曰本黄色片 | www.久久| 欧美特级视频 | 国产精品久久久久久亚洲av | 韩国女主播一区二区 | jizz中文字幕 | 印度毛茸茸 | 在线看国产精品 | 久久久涩 | 噜噜噜精品欧美成人 | 久久久嫩草 | 亚洲精品乱码久久久久久国产主播 | 第色|