OpenGL ES->工作机制

devtools/2024/9/23 14:26:28/

渲染流程

在这里插入图片描述

  • 渲染目的:输入3D立体坐标,输出绘制后的2D平面像素
  • 工作流程:顶点着色器->图元装配->几何着色器->光栅化->片段着色器->测试与混合,整个工作流程被封装在GPU内部,无法改变。运行在CPU的代码调用各种OpenGL ES的函数能够传递顶点数据,着色器数据给整个工作流程,达到我们的渲染需求

六大渲染阶段

顶点着色器

  • 确定绘制图形的形状,接收开发者传入的顶点数据,变换处理完后传给图元装配阶段

图元装配

  • 将顶点着色器传来的顶点数据(3D坐标转换为2D坐标)并组装为图元,图元为点、线、三角形等最基本的几何图形

几何着色器

  • 非必须提供

光栅化

  • 将图元转化为一张二维图片,二维图片包含多个片段,每个片段包含了位置,颜色,深度等信息

片段着色器

  • 控制屏幕上每个片段的显示颜色

测试与混合

  • 丢弃不需要显示的片段
    • 深度测试:当两个图形叠加在一起时,同一个位置的多个片段显示深度较小的片段,丢弃深度较大的片段
    • 模版测试:对缓冲区中的图像数据做与运算进行过滤,只留下需要显示的区域
    • 混合:显示带有透明度的片段

http://www.ppmy.cn/devtools/90668.html

相关文章

在vscode中远程连接linux进行开发

目录 引言 配置过程 1.本机安装OpenSSH 2.本机生成RSA公钥和私钥 3.将rsa公钥添加到远程linux的authorized_keys文件中 4.vscode安装Remote - SSH插件 5.在vscode中ssh连接服务器 6.在本地vscode操作远程linux文件进行开发 7.在vscode上给远程linux机器需安装插件 常…

什么情况?我代码没了

前两天检视代码时,发现PR里面有两个提交的描述信息一模一样,于是我提出应该将这两个提交合并成一个,保持提交树的清晰。 1 先储存起来! 而同事这时正在开发别的特性,工作区不是干净的,没法直接执行 git r…

如何将avi格式转换为flv格式呢?

FLV是随着FLASH MX的推出发展而来的一种视频格式,目前被众多新一代视频分享网站所采用,是目前增长较快,也较为广泛的视频传播格式。 FLV格式可以轻松导入FLASH播放器中,另外它还能起到保护版权的作用,非常受欢迎。那么…

图论① dfs | Java | LeetCode 797,Kama 98 邻接表实现(未完成)

797 所有可能路径 https://leetcode.cn/problems/all-paths-from-source-to-target/description/ 输入&#xff1a;graph [[1,2],[3],[3],[]] 题目分析&#xff0c;这里 class Solution {//这个不是二维数组&#xff0c;而是listList<List<Integer>> res new Ar…

问题解决:CUDA_HOME environment variable is not set.

CUDA_HOME environment variable is not set. Please set it to your CUDA install root. Firstly, I couldn’t run “git clone gitgithub.com:facebookresearch/segment-anything-2.git” command, this give permission denied. So I used “git clone https://github.com…

数据库漫游记:表、视图、函数、存储过程及触发器之跨平台兼容性分析(上)

先言之 &#x1f31f;余撰此文&#xff0c;乃为导引初窥数据库之学人&#xff0c;俾其明了表、视图、函数、存储过程及触发器之义理&#xff0c;及其于诸般平台之上创建、修改与废弃之法式。盖初学之人&#xff0c;常陷于迷雾之中&#xff0c;难辨东西&#xff0c;故须详述而明…

QTCreate中使用git进行代码的备份

一开始使用QTCreate设计UI时&#xff0c;都是手动保存&#xff0c;后面觉得应该升级一下自己的技术栈&#xff0c;把git工具学了一些&#xff0c;摸索两天。首先&#xff0c;git是一个版本控制工具&#xff0c;正常开发需要一个master和一个你自己需要的分支&#xff0c;在分支…

记一次python逆向:反编译pyinstaller打包生成的exe

首先声明一点&#xff0c;逆向这块我是纯小白&#xff0c;我是通过看各种博客&#xff0c;反复折腾才搞出来的&#xff0c;写的有错误的地方&#xff0c;还请各位大佬多多指正 0 前置条件 确认需要逆向的exe文件是不是通过pyinstaller打包的&#xff0c;如果不是&#xff0c;…