Job = Android Developer
Location = GuangZhou
Blog = https://glumes.com
Github = https://github.com/glumes
Email = [email protected]
Interests = OpenGL、Kotlin、OpenCV、MachineLearn
Scan the QRCode to Subscribe My WeChat ~~

《OpenGL ES 3.x 游戏开发》顶点缓冲区 VBO 的使用

学习笔记内容摘录

在之前的绘制过程中,首先都需要将物体的顶点数据保存在内存中,然后 glDrawArraysglDrawElements 绘制前,将顶点数据送入到显存中,这样会存在 I/O 开销较大的问题,性能也不够好。

可以将顶点数据存放在顶点缓冲区中,就不需要在每次绘制前把顶点数据复制进显存,而是在初始化顶点缓冲区对象时一次性将顶点数据送入显存,每次绘制时直接使用显存中的数据,可以大大提高渲染性能。

[Read More]

《OpenGL ES 3.x 游戏开发》之利用 Alpha 透明度进行测试

学习笔记内容摘录

在前面的博客文章中有提到 OpenGL 裁剪测试及注意点,并且裁剪测试只能裁剪一个矩形区域,相当于就是把整个内容都绘制上去了,但是透过一个小矩形区域来看绘制的物体。

除了透过矩形区域,还可以实现透过任意形状区域来观察物体,这就是要用到 OpenGL 的 Alpha 透明度测试。

关于 Alpha 透明度测试,在 用 OpenGL 对视频帧内容进行替换 也用实践用到过。

[Read More]

OpenGL ES 学习资源分享

学习了一段时间的 OpenGL ES,并在公司的项目中得到了运用,也算是有了一些积累,现在分享一些当初学习的资源,大家一起来学习,共同交流进步。

[Read More]

OpenGL 的 glDrawElements 绘制方法

在之前的绘制中,我们都是通过 glDrawArrays 方法来实现的,它会按照我们传入的顶点顺序和指定的绘制方式进行绘制。

回顾一下之前提到的绘制类型:

绘制类型 绘制方式
GL_POINTS 将传入的顶点坐标作为单独的点绘制
GL_LINES 将传入的坐标作为单独线条绘制,ABCDEFG六个顶点,绘制AB、CD、EF三条线
GL_LINE_STRIP 将传入的顶点作为折线绘制,ABCD四个顶点,绘制AB、BC、CD三条线
GL_LINE_LOOP 将传入的顶点作为闭合折线绘制,ABCD四个顶点,绘制AB、BC、CD、DA四条线。
GL_TRIANGLES 将传入的顶点作为单独的三角形绘制,ABCDEF绘制ABC,DEF两个三角形
GL_TRIANGLE_STRIP 将传入的顶点作为三角条带绘制,ABCDEF绘制ABC,BCD,CDE,DEF四个三角形
GL_TRIANGLE_FAN 将传入的顶点作为扇面绘制,ABCDEF绘制ABC、ACD、ADE、AEF四个三角形

[Read More]