title: GLSL PointSprite for particle system
body: <p>I'm using an ParticleSystem with PointSprites (inspired by the Cocos2D Source). But I wonder how to rebuild the functionality for OpenGL ES 2.0</p>
  
  <pre><code>glEnable(GL_POINT_SPRITE_OES);
  glEnableClientState(GL_POINT_SIZE_ARRAY_OES);
  glPointSizePointerOES(GL_FLOAT,sizeof(PointSprite),(GLvoid*) (sizeof(GL_FLOAT)*2));
  glDisableClientState(GL_POINT_SIZE_ARRAY_OES);
  glDisable(GL_POINT_SPRITE_OES);
  </code></pre>
  
  <p>these generate BAD_ACCESS when using an OpenGL ES 2.0 context.
  Should I simply go with 2 TRIANGLES per PointSprite? But thats probably not very efficent (overhead for extra vertexes).</p>
  
  <p>EDIT:
  So, my new problem with the suggested solution from:
  <a href="https://gamedev.stackexchange.com/questions/11095/opengl-es-2-0-point-sprites-size/15528#15528">https://gamedev.stackexchange.com/questions/11095/opengl-es-2-0-point-sprites-size/15528#15528</a></p>
  
  <p>is a possibility to pass many different sizes in an batch call. I thought of using an Attribute instead of an Uniform, but then I would need to pass always an PointSize to my shaders - even if I'm not drawing GL_POINTS. So, maybe a second shader (a shader only for GL_POINTS)?! I'm not aware of the overhead for switching shaders every frame in the draw routine (because if the particle system is used, I want naturally also render regular GL_TRIANGLES without an pointSize)... Any ideas on this?</p>