美文网首页
OpenGL 渲染

OpenGL 渲染

作者: _君莫笑_ | 来源:发表于2019-05-15 14:29 被阅读0次

OpenGL 渲染

OpenGL 渲染架构

2339413-74fccbac9e1e8499.png
  • client 代表就是客户端类似于 iOS/安卓
  • server 代表后台服务器
  • Vertex Shader(顶点着色器) 和 Fragment Shader(片段着色器) 我们编码程序主要针对这两个着色器
  • 顶点着色器-->处理从客户机输入的数据、应用变换、进行其他的类型的数学运算来计算关照效果、位移、颜色值等等, Attributes(传一些属性值就像给控件添加属性一样) 只能作用于顶点着色器 不能作用于偏远着色器。
  • Uniform值可以作用于顶点和片元着色器, 一般固定值, 例如视频着色 YUV 通过固定的算法及转换矩阵转成 RGB

存储着色器:

  • 定义一个着色器管理对象(GLShaderManager)

着色器初始化:shaderManager.InitializeStockShaders();

  • 单元着色器 GLShaderManager::UserStockShader(GLT_ATTRIBUTE_VERTEX,GLfloat vColor[4]);
    参数:1.存储着色器种类:
    2.存储着色器颜色

  • 平面着色器GLShaderManager::UserStockShader(GLT_SHADER_FLAT,GLfloat mvp[16],GLfloat vColor[4]);
    参数:1.平面着色器
    2.允许变化的4*4矩阵
    3.颜色

  • 上色着色器(平滑着色)GLShaderManager::UserStockShader(GLT_SHADER_SHADED,GLfloat mvp[16]);
    参数:1.存储着色器顶点分量
    2.存储着色器颜色分量

  • 默认光源着色器(平行光/太阳光)GLShaderManager::UserStockShader(GLT_SHADER_DEFAULT_LIGHT,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vColor[4]);
    参数:1.默认光源着色器
    2.模型视图矩阵
    3.投影矩阵
    4.颜色值

  • 点光源着色器GLShaderManager::UserStockShader(GLT_SHADER_POINT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vColor[4]);
    参数 1.点光源着色器
    2.模型视图矩阵
    3.投影矩阵
    4.视点坐标光源位置
    5.颜色值

  • 纹理替换矩阵着色器GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_REPLACE,GLfloat mvMatrix[16],GLint nTextureUnit);
    参数 1.存储着色器种类-纹理替换矩阵着色器
    2.模型 4*4 矩阵
    3.纹理单元

  • 纹理调整着色器GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_MODULATE,GLfloat mvMatrix[16],GLfloat vColor[4],GLint nTextureUnit);
    参数 1.存储着色器种类-纹理调整着色器
    2.模型 4*4 矩阵
    3.颜色值
    4.纹理单元

  • 纹理光源着色器GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_POINT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vBaseColor[4],GLint nTextureUnit);
    参数 1.纹理光源着色器
    2.投影矩阵
    3.视觉空间中的光源位置
    4.几何图形的基本色
    5.将要使用的纹理单元

相关文章

  • OSG3.4内置Examples解析【目录】

    opengl渲染管线 从整体上解读OpenGL的渲染流程 一 从整体上解读OpenGL的渲染流程 二 osg与an...

  • OpenGL学习笔记二

    OpenGL 基础渲染 一、OpenGL 渲染结构 有3种向OpenGL 着⾊器传递渲染数据的⽅法可供我们选择1....

  • OpenGL渲染架构

    OpenGL的渲染架构图 OpenGL渲染主架构 OpenGL渲染架构分为客户端(Client)和服务端(Serv...

  • 离屏渲染与OpenGL渲染结构

    大纲 理解离屏渲染 OpenGL渲染结构 着色器 OpenGL 基础图元/基本图元连接 理解离屏渲染 正常渲染流程...

  • OpenGL渲染流程

    OpenGL渲染流程 渲染框架 之前学习管线的时候,我们知道OpenGL的渲染流程是有固定次序的。那么先了解下渲染...

  • OpenGL的绘制

    OpenGL渲染图像 OpenGL渲染图像需要执行的操作从OpenGL的几何图元中设置数据,用于构建形状。使用不同...

  • OpenGL笔记二:OpenGL 渲染流程及投影

    前言 期待您移步上篇:OpenGL笔记一:专业名词 OpenGL渲染架构 OpenGL 渲染流程分为两个部分:Cl...

  • OpenGL渲染流程详解(转)

    【OpenGL】OpenGL渲染流程详解 查阅过很多资料,在OpenGL的整个渲染流程中很多资料上描述的过程大致相...

  • OpenGLES 入门(一)着色器简介

    与OpenGL ES1.x渲染管线相比,OpenGL ES 2.0渲染管线中“顶点着色器”取代了OpenGL ES...

  • OpenGL渲染流程和矩阵堆栈

      想要更深入的学习OpenGL,就要先了解OpenGL渲染架构图(如下图)。客户端和OpenGL渲染服务严格遵循...

网友评论

      本文标题:OpenGL 渲染

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