本案例旨在于了解OpenGL ES中自定义编程粒子作用的全体结束思路。
案例的全体作用如下:
从作用图中能够看出,案例结束了4种粒子作用opengl怎么装置与装备,下面来说说结束的全体流程
如图所示,大致分为4部分
- 视图控制器类:结束粒子作用
- 粒子类:处理并制作粒子
- 东西类:封装的着色器东西类
- 着色器:GLSL自定义的极点和片元着色器
视图控制器类
在这个类中首要是经过粒子类CCPoios8备忘录intParticleEffect
创立粒子方针,并结束4种粒子作用,然后系gitee统调用GLKView & GLKViewDelegate署理方法进行制作和更新
触及的变量及函数如图所示
粒子类
这个类首要是处理并制作一切的粒子,相当于GLKit中的GLKBaseEffect类,
对外供给了三opengl是什么意思个方法
-
addParticleAtPosition
函数:用于添加粒子,每github怎么下载文件次调opengles3.1扩展包用仅添加一个粒子,在视图控制器中创立粒子方针,经过粒子方针来调用该方法创立粒子
实施苹果电影流程图如图所示: -
prepareToDraw
函数,有以ios14.4.2值得更新吗下几步预备工作
其间loadShader函数的流程如下
-
draw
函数:用于制作粒子,底层需求调用东西类的drawArrayW苹果12ithMode
方法,运用OpenGL ES数组制作的方法进行制作
触及的变量及函数结束如下
东西类
该类首要是将OpenGL ES 的部分操作封装成了自定义的方法,添加了代码的复用性,首要封装了4个方法
-
initWithAttribStride
函数:初始化,用于在Ogithub永久回家地址penGL ES 中创立一个VBO(极点特征数组缓冲区) -
reinitWithAttribStride
函数:更新数据,用于在已有VBO的情况下,更新传入着色器中的数据 -
prepareToDrawWithAttrib
函数:预备制作,用于翻开aios最好玩的手游ttrigitlabbute通道 & 设置数据的读取方法 -
drawPreparedArraysWithMode
函数:制作,调用OpenGL ES 的数组制作方法进行图形的制作
触及的变量及函数结束如下
自定义着色器
着色器中的变量及man函数操作如下
从上面的流程中能够看出,自定义编程结束粒子作用是一件非常繁琐的事苹果xs,在实践的iOS开发中,并不会这么做,一般都是运用Core Animation中的特殊图层CAEmitterLayer来结束粒子github永久回家地址作用,首要是因为苹果对粒子作用的opengles3.1扩展包封装现已非苹果12常完善了,即运用很少的代码便可结束粒子作用。
无缺的代码见github – 1212_OpenGL ES自定义编程结束粒子作用