
OpenGL ES
文章平均质量分 85
Mhypnos
这个作者很懒,什么都没留下…
展开
-
OpenGL理解VBO,IBO,VAO
VBO和IBO很好理解,一般解释就是VBO保存着顶点的相关数据,IBO则是保存着对这些数据的索引VAO名字是顶点数组对象,十分坑爹的名字,完全无法理解。VAO我理解为用来保存VBO的数据是什么哪个属性(shader里的attribute)结合代码会比较好理解假设画一个正方形。首先我们绑定了一块VBO,传入四个角的顶点数据。float vert[] = { -1,-1, 1, -1, -1, 1, 1,1};glGenBuffers(1, &vertVbo);glBindBu原创 2022-03-16 02:18:35 · 1066 阅读 · 0 评论 -
OpenGL ES FBO
有两种类型的“帧缓存关联图像”:纹理图像(texture images)和渲染缓存图像(renderbuffer images)。如果纹理对象的图像数据关联到帧缓存,OpenGL执行的是“渲染到纹理”(render to texture)操作。如果渲染缓存的图像数据关联到帧缓存,OpenGL执行的是离线渲染(offscreen rendering)void glGenFramebuffers(GLsizei n, GLuint * ids);第一个是要创建的帧缓存的数目,第二个是指向存储一个或者多个I原创 2022-02-22 00:52:52 · 997 阅读 · 0 评论 -
OpenGL ES 纹理
一个像素点的颜色信息,一般需要4个通道,RGBA,每个通道需要8位,用于保存一个0-255的值。所以想要表示一个像素点的颜色信息,如果不压缩的情况下需要32bit,也就是4byte缩小包体通常会缩小纹理对应的原始图片文件的大小,通常压缩为png、jpg、tga格式,而不使用bmp这种无压缩的格式生成纹理:从原始图片获取宽高和颜色信息及保存信息的空间(cpu端的内存),以该内存的数据在gpu端生成纹理cpu的数据是有几行就有几组,每行占据的字节根据一行宽度及每个像素占的位数相乘获得。在读取时要注意字节对原创 2022-01-28 02:43:39 · 823 阅读 · 0 评论 -
OpenGL ES(绘制api)
把数据从CPU的内存传入GPU内存有两种一种直接将CPU的数据赋值给GPU对应变量。另一种是CPU的数据打包,在GPU中创建一个buffer object,将打包数据传给buffer对象,GPU对这个buffer进行访问和使用。通常使用第二种,更节省时间和空间。原因:1打包数据一次性传送,GPU只需要根据buffer对象的数据偏移,将buffer对象中的某块分配个某个变量,另外一快分配给另一个变量。2一套顶点颜色在被多次绘制时,会被GPU使用多次,第一种方式每次绘制都赋值一次。如果用buffer对象,只原创 2022-01-27 01:43:06 · 1826 阅读 · 0 评论 -
OpenGL ES API(绑定shader)
OpenGL ES创建一块内存,使用GLSL编写shader,然后触发GPU的shader编译器进行编译。编译好的shader由OpenGL ES控制输入,然后经过shader生成的结果,会被OpenGL ES pipeline的后半段操作使用,最终结果保存在绘制buffer中。OpenGL ES APIGLenum glGetError(void);...原创 2022-01-25 17:08:02 · 1935 阅读 · 0 评论 -
Shader(GLSL)
GLSL语言编写,主要两类Vertex shader,Fragement shaderShader构造:预处理变量定义通过输入参数和函数算法,计算输出结果(main函数)预处理:预处理的运算在编译时执行只有一个#行的一行会被忽略掉#宏定义 后面可以跟和不跟宏参数#define#undef条件判断宏 只能跟随数字运算或者define定义的宏定义,未被define定义过的标识符不会被默认为0,使用会导致error,不支持字母常量#if#ifdef#ifndef#else#e原创 2022-01-22 22:36:31 · 1611 阅读 · 0 评论 -
shader 概述和EGL
着色器:在gpu上运行的一组指令(GPU即图形处理器,是一个对CPU的补充,它的目的就是尽可能的加速图形处理速度,主要负责跟显示相关的数据处理)顶点数据打包给顶点着色器,顶点输出(平面旗子的顶点位置,通过sin处理,输出为飘扬的旗子顶点位置)顶点输出给 光栅化器 (光栅化片段着色器) 找到顶点几何区域中的像素, 划分片段 内插顶点着色器的数据 给 像素着色器根据顶点数据 (计算区域内各像素着色器 数据)(顶点法线与面法线的区别:若第一个顶点光照强度是10,第二个顶点光照强度是1,那么这两个顶点正原创 2022-01-21 13:41:03 · 950 阅读 · 0 评论