美文网首页
七、OpenGL系统库和工具类

七、OpenGL系统库和工具类

作者: 东篱采桑人 | 来源:发表于2020-07-10 19:04 被阅读0次
1.系统库

现在比较流行的搭配主要是 freeglut + glew和glfw + glew。
在macOS中,一般使用glut + glew来进行开发。

2. GLShaderManager

着⾊器管理器类,用来管理固定着色器。

初始化固定着色器
GLShaderManager shaderManager;
shaderManager.InitializeStockShaders();

使用指定类型的着色器,并传递参数
shaderManager.UseStockShader(GLT_STOCK_SHADER nShaderID,  Params);
参数类型

3. GLBatch

在调用绘制方法时,顶点数据可以由内存传入,然后传给GPU绘制。为了更高性能的绘制,一般会提前分配一块GPU显存来缓存这些顶点数据,这部分显存称为顶点缓存区。GLBatch就是用来将这些数据批次保存在显存中,可以处理顶点、光照、纹理、颜色等数据。

void GLBatch::Begain(GLeunm primitive,GLuint nVerts,GLuint nTexttureUnints = 0);
参数1:图元 
参数2:顶点数 
参数3:⼀组或者2组纹理坐标(可选)

复制顶点数据(⼀个由3分量x,y,z顶点组成的数组) 
void GLBatch::CopyVerterxData3f(GLfloat *vVerts);

复制表⾯法线数据 
void GLBatch::CopyNormalDataf(GLfloat *vNorms);

复制颜⾊数据 
void GLBatch::CopyColorData4f(GLfloat *vColors);

复制纹理坐标数据 
void GLBatch::CopyTexCoordData2f(GLFloat *vTextCoords, GLuint uiTextureLayer);

结束数据复制 
void GLBatch::End(void);

绘制图形 
void GLBatch::Draw(void);

相关文章

  • 七、OpenGL系统库和工具类

    1.系统库 现在比较流行的搭配主要是 freeglut + glew和glfw + glew。在macOS中,一般...

  • OpenGL基础代码总结

    OpenGL基础代码归纳总结 工具类头文件 着色器管理类 GLTools函数 freeglut静态库在Mac 系统...

  • 1-安装OpenGL-Windows10+Visual Stud

    OpenGL包括两个部分,OpenGL工具函数库(GLU)和OpenGL实用工具库(GLUT),幸运的的是Visu...

  • (一)VC6.0写第一个OpenGL程序

    GLUT代表OpenGL应用工具包(OpenGL Utility Toolkit),是一个与窗口系统无关的工具包。...

  • 2010年12月27日

    GLUT代表OpenGL应用工具包(OpenGL Utility Toolkit),是一个与窗口系统无关的工具包...

  • OpenGL渲染正方形,并实现移动

    实现如下效果 配置OpenGL需要的环境 可以参考OpenGL环境配置 搭建项目的基本框架 引入工具类 定义帮助类...

  • OpenGl-GLFW

    OpenGL 使用的轻量级工具程序库,缩写自 Graphics Library Framework(图形库框架)。...

  • OpenGL开发:官方GLUT库的环境配置

    GLUT,是指OpenGL Utility Toolkit,用于开发独立于窗口系统的OpenGL程序,即该库打包了...

  • OpenGL ES 入门案例

    OpenGL ES 是OpenGL针对嵌入式系统设置的标准图形库。它是OpenGL的简化版。但是基本的渲染管线没...

  • OpenGL ES 入门案例

    OpenGL ES 是OpenGL针对嵌入式系统设置的标准图形库。它是OpenGL的简化版。但是基本的渲染管线没...

网友评论

      本文标题:七、OpenGL系统库和工具类

      本文链接:https://www.haomeiwen.com/subject/ncxycktx.html