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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

OpenGL 绘图移动

發(fā)布時間:2025/6/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenGL 绘图移动 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

前言

在上一篇OpenGL 環(huán)境搭建基礎(chǔ)上修改main.cpp文件,完成使用OpenGL圖片繪制和移動效果。

代碼

詳細代碼已做注釋:

#include "GLShaderManager.h" #include "GLTools.h" #include <GLUT/GLUT.h>//著色管理器 GLShaderManager shaderManager;//批次容器 GLBatch quadsBatch;//矩形坐標長度 GLfloat blockSize = 0.1f;//頂點坐標 GLfloat vVerts[] = {-blockSize,-blockSize,0.0f,blockSize,-blockSize,0.0f,blockSize,blockSize,0.0f,-blockSize,blockSize,0.0f };//窗口大小修改回調(diào) void changeSize(int w, int h) {glViewport(0, 0, w, h); }//區(qū)域渲染 void renderScene(void) {//清除一個緩存區(qū)glClear(GL_COLOR_BUFFER_BIT);GLfloat vBlue[] = {0.0,0.0,1.0,1.0f};//使用著色器渲染shaderManager.UseStockShader(GLT_SHADER_IDENTITY,vBlue);quadsBatch.Draw();//后臺緩沖區(qū)渲染完畢后交給前臺顯示glutSwapBuffers();}//初始化 void setupRC() {glClearColor(0.5f, 0.5f, 0.5f, 0.5f);shaderManager.InitializeStockShaders();quadsBatch.Begin(GL_QUADS, 4);quadsBatch.CopyVertexData3f(vVerts);quadsBatch.End(); }//處理鍵盤控制圖形移動 void specialKeys(int key, int x, int y) {GLfloat stepSize = 0.01f;GLfloat blockX = vVerts[0];GLfloat blockY = vVerts[10];if (key == GLUT_KEY_UP) {blockY += stepSize;}if (key == GLUT_KEY_DOWN) {blockY -= stepSize;}if (key == GLUT_KEY_LEFT) {blockX -= stepSize;}if (key == GLUT_KEY_RIGHT) {blockX += stepSize;}if (blockX < -1.0f) {blockX = -1.0f;}if (blockX > (1.0 - blockSize * 2)) {blockX = 1.0f - blockSize * 2;}if (blockY < -1.0f + blockSize * 2 ) {blockY = -1.0f + blockSize * 2;}if (blockY > 1.0f) {blockY = 1.0f;}//處理頂點vVerts[0] = blockX;vVerts[1] = blockY - blockSize*2;vVerts[3] = blockX + blockSize*2;vVerts[4] = blockY - blockSize*2;vVerts[6] = blockX + blockSize*2;vVerts[7] = blockY;vVerts[9] = blockX;vVerts[10] = blockY;quadsBatch.CopyVertexData3f(vVerts);glutPostRedisplay(); }int main(int argc, char *argv[]) {//設(shè)置工作目錄gltSetWorkingDirectory(argv[0]);//初始化glut庫glutInit(&argc, argv);//初始化一個雙緩沖區(qū),離屏區(qū)渲染,窗口區(qū)顯示glutInitDisplayMode(GLUT_DOUBLE);glutInitWindowSize(600, 600);glutCreateWindow("dowZhange");//注冊重塑函數(shù)glutReshapeFunc(changeSize);//注冊顯示函數(shù)glutDisplayFunc(renderScene);glutSpecialFunc(specialKeys);//用于檢查OpenGL API對程序可用GLenum status = glewInit();if (GLEW_OK != status) {return 1;}setupRC();glutMainLoop();return 0; }復(fù)制代碼

轉(zhuǎn)載于:https://juejin.im/post/5ce11e0bf265da1ba647bcd6

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的OpenGL 绘图移动的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲精品一级二级 | 欧美大白bbbb与bbbb | 狠狠婷婷| 性欧美色图| 成人福利在线播放 | 欧美日本在线观看 | 日韩一级免费毛片 | 黄大色黄大片女爽一次 | 亚洲男人天堂2023 | 伊人激情| 国产精品国产三级国产三级人妇 | 污片网址| 中文字幕日韩一区二区三区 | 免费精品在线观看 | 欧美视频一 | 亚洲一级片免费看 | 日本精品在线看 | 日韩精品第一页 | 久久av一区二区三 | 午夜影院日本 | 日韩激情av | 伊人婷婷色 | 狠狠影视 | 亚洲综合小说网 | av网站地址 | 老外一级黄色片 | 永久免费精品影视网站 | 欧美日韩精品一区二区在线播放 | 麻豆91茄子在线观看 | 成人蜜桃av| 久久精品一区二区免费播放 | 精品黑人一区二区三区国语馆 | 永久黄网站 | 污污免费在线观看 | 黄网站在线免费看 | 欧美一级乱黄 | 久久亚| 久久久久久久久久久丰满 | 一区二区国产精品 | 日本不卡一区二区三区在线观看 | 2017日日夜夜 | 秋霞无码一区二区 | 操女人免费视频 | free性满足hd国产精品久 | 日韩一区在线免费观看 | 国产精品视频www | 九九精品九九 | 久久涩涩 | 人妻丰满熟妇av无码区不卡 | 99福利视频| 拔萝卜91 | 999久久久久 | 亚洲色图 在线视频 | 美女视频免费在线观看 | 日韩免费视频网站 | 亚洲一区在线电影 | 国产精品久久久久久影视 | 日本人的性生活视频 | 精品国产伦一区二区三 | 99久久人妻无码中文字幕系列 | 一区二区在线免费视频 | 自拍超碰 | 91丨九色丨海角社区 | 日本免费不卡一区二区 | 国产激情久久久久 | 先锋av资源在线 | 在线观看av黄色 | 亚洲午夜片| 国产婷婷色一区二区在线观看 | 成年人免费小视频 | 成人区人妻精品一区二 | 岛国精品在线观看 | 台湾佬久久 | 日韩激情中文字幕 | 国产三级理论 | 国产欧美精品区一区二区三区 | 在线观看成人 | 深夜福利久久 | 亚洲av人无码激艳猛片服务器 | 亚洲精品中文无码AV在线播放 | 色综合天天| 亚洲激情视频网站 | 夜夜撸 | 五月天久久久久久 | 毛片中文字幕 | 一区二区三区四区不卡 | www.五月天婷婷 | 一区二区在线视频免费观看 | 中文字幕永久在线观看 | 久久88 | 在线免费一区二区 | www.激情五月.com | sm国产在线调教视频 | 538国产精品一区二区 | 日韩av线| 久草视频在 | 麻豆日产六区 | 欧美久久一区 | 91色在线|