什么是点精灵
opengl图形由顶点构成,所谓点精灵就是对点进行纹理映射,简单说就是把一副纹理贴在一个点上
原来4个顶点构成一个矩形,现在一个顶点就完成了,典型的如粒子效果,云雾,水流火花都可以用点精灵来实现
,这样减少了3个顶点的计算,效率很高。下面看例子 我们把 这个图片贴到4个顶点上面
shader实现
virtual void initialize()
{
//gl_PointSize 表示点的大小
const char* vs =
{
"precision lowp float;\n"
"uniform mat4 _MVP;\n"
"uniform float _pointSize;\n"
"attribute vec2 _position;\n"
"attribute vec4 _color;\n"
"varying vec4 _outColor;\n"
"void main(