美文网首页
OpenGL 渲染架构

OpenGL 渲染架构

作者: 爱闹的凡 | 来源:发表于2020-07-08 10:34 被阅读0次

OpenGL渲染架构

3344530-39c8b95f0143278f.png

1、渲染流程

1、设置视口顶点数据和其他参数
2、顶点数据数组对象或者顶点缓冲区数组对象提供的每个顶点都执行一边顶点着色器,主要两种方式传值给顶点着色器:Uniforms(一种变量类型)在每个顶点都保持一致,Attrbutes每个顶点都不同
3、顶点着色器的下一个阶段就是图元装配,图元是三角形、直线、点等几何对象
4、光栅化是将图元转化成一组二维片段的过程,然后这些片段由片段着色器处理
5,裁剪,如果该片段位于裁剪区外,则被抛弃
6、片元着色器将对应的栅格填充为具体的颜色,渲染图像

2、参数类型

1、attrubutes属性只能传入顶点着色器,不能直接传递到片元着色器,只能通过GLSL代码简介传递
顶点数据
纹理数据
光照法线
颜色数据
2、uniforms值可以传入顶点着色器,片元着色器

3、参数的使用

顶点着色器

我们可以通过attrubutes获取到顶点数据,通过uniforms获取到mvp矩阵,再进行运算得到最终的顶点坐标。
gl_Position = M_pro * M_view * M_model * V_local

片元着色器

比如在处理视频帧时,一般会使用YUV格式。要渲染到屏幕上需要将YUV格式转换为RGB格式。在片元着色器中,通过YUV数据进行矩阵运算就可以得到具体的RBG颜色值了。Alpha通道直接赋值为1.0
RGB = YUV * 转换矩阵

纹理

像素数据。片元着色器中,可以通过纹理坐标获取到对应的颜色值。如果对得到的颜色值进行处理,就可以得到“滤镜”效果。

4、基本图元

3344530-70a1f32f35daffd3.png
图元 描述
GL_POINTS 每个顶点在屏幕上都是单独点
GL_LINES 每⼀对顶点定义⼀个线段
GL_LINE_STRIP 一个从第⼀个顶点依次经过每⼀个后续顶点而绘制的线条
GL_LINE_LOOP 和GL_LINE_STRIP相同,但是最后⼀个顶点和第⼀个顶点连接起来了
GL_TRIANGLES 每3个顶点定义⼀个新的三角形
GL_TRIANGLE_STRIP 共⽤一个条带(strip)上的顶点的一组三⻆形
GL_TRIANGLE_FAN 以⼀个圆点为中⼼呈扇形排列,共⽤相邻顶点的⼀组三⻆形

相关文章

  • OpenGL渲染架构

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

  • OpenGL/OpenGL ES(二) 渲染架构

    1. 渲染架构图 上图是 OpenGL 渲染的大致架构,从图中我们可以看出,OpenGL 渲染架构分为Client...

  • OpenGL渲染架构以及三种数据传递方式

    一、OpenGL渲染架构 了解OpenGL渲染架构对我们学习OpenGL有非常重要的作用。话不多说,直接上图: 图...

  • 3. OpenGL渲染基础

    一、OpenGL渲染架构图 1. OpenGL渲染架构图: 2. 数据传递: 从上图可以看出OpenGL的数据传递...

  • OpenGL渲染架构

    OpenGL渲染架构 OpenGL的渲染架构image.png 渲染流程:设置顶点数据和其他参数。在顶点着色器中进...

  • 3、OpenGL渲染架构

    OpenGL渲染架构 渲染架构图 主要分为两大模块 Client:是指常见的ios代码和OpenGL API方法。...

  • openGL着色器的渲染流程

    openGL渲染架构 上图为openGL渲染架构图 Attributes属性 属性就是对每一个顶点都要做改变的数据...

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

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

  • OpenGL渲染架构与传值方式

    OpenGL渲染架构 了解OpenGL渲染架构 client和server并不是我们平时开发时常说的客户端和服务器...

  • OpenGL 渲染

    OpenGL 渲染 OpenGL 渲染架构 client 代表就是客户端类似于 iOS/安卓 server 代表后...

网友评论

      本文标题:OpenGL 渲染架构

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