我在opengl es 2.0中创建了一个点精灵纹理程序
我记得曾经读过,没有人认为gl_PointSize的大小可以大于1
这是真的吗?
如果是这样我怎么能在所有设备上都有不小的纹理?在我的设备上,即使在40的点上,事情看起来也很好。但是如果我不能依靠这个,那么我就有问题了
答案 0 :(得分:3)
我的经验除了glPointSize = 1之外的任何设置在某些硬件上可能真的很慢。如果你需要精灵,最好只画一个纹理四边形。你获得了更多的控制权和没有大小限制。要使四边形面朝向所需方向,请对其应用逆摄像机变换。即将它乘以变换堆栈。
如果您在反转矩阵时遇到问题,请查找一个简单的算法(几乎任何反转算法都会做,因为矩阵是3x3或最多4x4),或者记住存储每个部分变换的反转。即如果在x轴上将凸轮旋转45°,则将反向旋转-45°等