美文网首页
[OpenGL] - 图元

[OpenGL] - 图元

作者: coder_xiaoyu | 来源:发表于2018-04-17 21:25 被阅读0次

1.存储着色器 GLShaderMananger

1.1 单位着色器

GLShaderManager::UserStockShader(GLT_ATTRIBUTE_VERTEX,GLfloat vColor[4]);

1.2 平面着色器

/*
参数2:模型视图投影矩阵
*/
GLShaderManager::UserStockShader(GLT_SHADER_FLAT,GLfloat mvp[16],GLfloat vColor[4]);

1.3 上色着色器

GLShaderManager::UserStockShader(GLT_SHADER_SHADED,GLfloat mvp[16]);

1.4 默认光源着色器

/*
参数2:模型视图矩阵
参数3:投影矩阵
*/
GLShaderManager::UserStockShader(GLT_SHADER_DEFAULT_LIGHT,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vColor[4]);

1.5 点光源着色器

GLShaderManager::UserStockShader(GLT_SHADER_DEFAULT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vColor[4]);

1.6 纹理替换矩阵

GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_REPLACE,GLfloat mvMatrix[16],GLint nTextureUnit);

1.7 纹理调整着色器

GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_MODULATE,GLfloat mvMatrix[16],GLfloat vColor[4],GLint nTextureUnit);

1.8 纹理光源着色器

GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_POINT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vBaseColor[4],GLint nTextureUnit);

2.OpenGL图元

2.1 点

2.2 线


image.png

2.3 线带


image.png

2.4 线环


image.png

2.5 三角形


image.png

2.6 三角形金字塔

//通过三角形创建金字塔
    GLfloat vPyramid[12][3] = {
        -2.0f, 0.0f, -2.0f,
        2.0f, 0.0f, -2.0f,
        0.0f, 4.0f, 0.0f,
        
        2.0f, 0.0f, -2.0f,
        2.0f, 0.0f, 2.0f,
        0.0f, 4.0f, 0.0f,
        
        2.0f, 0.0f, 2.0f,
        -2.0f, 0.0f, 2.0f,
        0.0f, 4.0f, 0.0f,
        
        -2.0f, 0.0f, 2.0f,
        -2.0f, 0.0f, -2.0f,
        0.0f, 4.0f, 0.0f};

2.7 三角形带


image.png

2.8 三角形扇


image.png
  1. 通过GLBatch帮助类定义图形
/*
批次类开始
参数1:图元类型
参数2:顶点数量
*/
void GLBatch::Begin(GLenum primitive, GLuint nVerts, GLuint nTextureUnits = 0);
/*
复制顶点到批处理中
*/
void GLBatch::CopyVertexData3f(M3DVector3f *vVerts);
/*
批次类结束
*/
void GLBatch::End(void);

相关文章

  • OpenGL:图元

    OpenGL:图元

  • 看图解析:OpenGL“图元”

    回顾:1. 快速理解OpenGL专业名词 看图解析:OpenGL“图元” 一、十种图元类型 OpenGL 中一共有...

  • OpenGL ES 3.0 - 图元和光栅化

    图元和光栅化 图元 图元是可以用OpenGL ES中的glDrawArrays, glDrawElements, ...

  • OpenGL-基础渲染

    目录 OpenGL渲染架构 投影方式设置 固定管线解析 OpenGL基本图元解析 图元绘制 GLBatch Ope...

  • OpenGL(四) OpenGL图元绘制

    我们知道点、线、三角形是OpenGL的基本图元。在绘制图元之前,我们先来了解下OpenGL常见的图元连接方式 图元...

  • 003---固定连接方式

    [toc] OpenGL基本图元 OpenGL的基本图元连接方式 实际上给定的批次中的所有定点都会用于组成这些图元...

  • OpenGL绘制方式

    OpenGL图元 这里不考虑几何着色器和细分曲面着色器。OpenGL的图元类型为点、线、面。 点 OpenGL在显...

  • OpenGL(四)-- 图元连接方式(记录)

    OpenGL/OpenGL ES图元连接方式 图元描述GL_POINTS每个顶点在屏幕上都是单独点GL_LINES...

  • OpenGL(五)-OpenGL基本图元

    OpenGL七种基本图元 OpenGL基本图元实例 OpenGL点/线 1.最简单、最常用的,表示点的大小 2.设...

  • OpenGL-基础图元

    OpenGL图元的模式标识 图元类型OpenGL 枚举量点GL_POINTS线GL_LINES条带线GL_LINE...

网友评论

      本文标题:[OpenGL] - 图元

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