1.以点描述一个正方形Billboard概念,节省了顶点数据传输带宽.
2.激活glEnable(GL_POINT_SPRITE_ARB);之后画点即可使用.
3.使用glPointSize控制Billboard大小,依公式控制透视效果
// clamp(size * sqrt(1 / (a + b * d + c * d ^ 2)))
float quadratic[] = { a, b, c };
glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, quadratic);
glPointParameterfARB( GL_POINT_SIZE_MIN_ARB, minsize );
glPointParameterfARB( GL_POINT_SIZE_MAX_ARB, maxSize );
使用 glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 60.0f);控制消隐效果.
使用 glTexEnvf(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE);为Billboard上纹理.
4.名义上隶属Opengl2.0标准,实际实现上由于硬件限制不大,更新最新的驱动程序都能实现该扩展,ARB的官僚可见一斑.
Reference:
http://www.khronos.org/opengles/documentation/opengles1_1/gl_egl_ref_1_1_20041110/glPointParameter.htmlhttp://www.codesampler.com/oglsrc/oglsrc_6.htm#ogl_point_sprites