最近几天看了lighthouse3d上的billboard教程,照着写了下,运行效果如下:
缺点是没有直接在函数内计算坐标,而是使用函数通过glRotatef来渲染使平面朝向摄像机,当粒子数多时调用glBegin的次数也多(因为glBegin内调用glRotatef没有作用),优化方法是使用函数计算x,y,z坐标,然后在glBegin一次画出,不过暂时还没写出来,等有时间再重新写下。
资料参考:
http://www.lighthouse3d.com/opengl/billboarding/
源码下载: