
OpenGL
文章平均质量分 88
起司锅仔
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
OpenGL ES MVP/变换投影矩阵(8)
通过前面几节的学习,目前我们已经可以渲染自己想要的图像,也可以通过纹理加载图片进行渲染。接下来我们来学习一下MVP,这里的MVP不是Android应用开发里的框架MVP,而是Model,View,Projection。原创 2024-10-02 21:41:11 · 1653 阅读 · 0 评论 -
OpenGL ES 纹理(7)
glGenTextures 申请分配纹理第一个参数为需要分配纹理个数,第二个申请的纹理句柄(是一个出参),第三个是偏移glTexParameteri 配置纹理参数第一个参数是目标,一般使用GL_TEXTURE_2D,第二和第三个参数分别是需要配置的参数的名称和值。下面我们列举几个常用的参数:GL_TEXTURE_MAG_FILTER 当显示区域大于原来纹理时,如何放大图像GL_NEAREST 会使用靠近的像素作为扩增的像素(计算量小但是效果差)原创 2024-10-01 22:37:56 · 1383 阅读 · 0 评论 -
OpenGL ES 之EGL(6)
EGL是OpenGL ES的封装,目的是跨设备跨平台,隔离不同平台对窗口不同的实现。上一节我们基本没有使用到EGL,因为GLSurfaceView帮助我们处理了相关的逻辑,我们这一节来看一下EGL的一些概念以及接口的使用。同时我们会介绍GLSurfaceView做了什么,是怎么配置EGL等。原创 2024-10-01 22:34:52 · 866 阅读 · 0 评论 -
OpenGL ES 着色器(5)
着色器是在GPU上运行的程序,它会对每一个点都执行一次程序,并且计算出每个像素需要渲染的颜色,我们主要关注着色器的怎么传递数据,在OpenGL ES中,着色器传递数据分几种场景,一种是Cpu传递数据给GPU,一种是顶点缓冲区的数据传递到着色器,还有一种是顶点着色器数据传递给片段着色器。原创 2024-09-30 21:57:44 · 1696 阅读 · 0 评论 -
OpenGL ES 索引缓冲区(4)
本节会介绍索引缓冲区,索引缓冲区和顶点缓冲区类似,也是显存上的一段内存,只不过上面的数据用处不同,索引缓冲区故名思义里面的数据是用于索引,主要作用是用于复用顶点缓冲区里的数据。我们之前说过OpenGL渲染都是渲染三角形,如果我们想渲染一个正方形,就要通过渲染两个三角形,拼接成一个正方形,那么这两个三角形有两个顶点是重合的,如果没有索引缓冲区,两个三角形则需要六个顶点,而实际上一个正方形只有四个顶点,这里有两个顶点时数据冗余。仅仅一个正方形就有这么多冗余,那么一个复杂的游戏场景就会浪费非常多的内存。原创 2024-09-30 21:55:22 · 1316 阅读 · 0 评论 -
OpenGL ES 绘制一个三角形(2)
GLSurfaceView通过setRenderer暴露一个Renderer,Renderer有三个接口onSurfaceCreated/onSurfaceChanged/onDrawFrame。GLSurfaceView处理了EGL环境相关的逻辑,onDrawFrame则会控制VSync,在需要渲染的时候调用。原创 2024-09-28 22:11:37 · 1593 阅读 · 0 评论 -
OpenGL ES简述(1)
这个章节我们会来介绍一下OpenGL ES,学习OpenGL ES主要是为了了解GPU为我们提供了怎样的能力,Android系统中使用的是OpenGL ES,但是核心是一样的,了解OpenGL ES后我们可以对Android渲染有更深的理解。Android上我们知道我们是通过Canvas来描述一个View需要渲染成什么效果的,其实Canvas的指令最终都是由Vulkan实现的,而现在新版本中的Android,Vulkan也会将渲染指令转化成OpenGL ES的指令,以便使用GPU渲染得到硬件加速。原创 2024-09-28 22:07:51 · 750 阅读 · 0 评论