QT_OPENGL-------- 3.ElementArraryBuffer
Posted fuhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT_OPENGL-------- 3.ElementArraryBuffer相关的知识,希望对你有一定的参考价值。
与上一节内容基本相同,只是用ElementArraryBuffer绘制三角形,也就是VBO与IBO。
1.VBO 一系列点,通过glDrawArrays指定绘制几个点,是连续的,不能跳跃。
2.IBO(ElementArrayBufferObject) 一系列点,通过指定其中的某一些点组成三角形,不需要是连续的。
gldrawElement(绘制什么,绘制数据的个数,类型,绘制的起始位置)
3.其他与上一节相同,代码部分如下:
#include<GL/glew.h> #include <GLFW/glfw3.h> #include <stdio.h> #include<iostream> #include<glm/glm.hpp> #include<glm/ext.hpp> using namespace std; struct Vertex { float pos[3]; float color[4]; }; char *LoadFileContent(const char*path)//加载shader { FILE*pFile = fopen(path, "rb"); if (pFile) { fseek(pFile, 0, SEEK_END); int nLen = ftell(pFile); char*buffer = new char[nLen+1]; rewind(pFile); fread(buffer, nLen , 1, pFile); buffer[nLen]=‘