我正在制作一个游戏,并且我喜欢为英雄的激光(以及未来的其他东西)实现光线投射,我将我的精灵放在一个精灵表中,我在开始时绑定它并在我绘制时访问,因为每个元素都知道如何绘制自己,但是 spritesheet 是 PNG,因此某些元素具有透明度,这在 openGL 中可以正常工作。我知道每个元素的位置、大小等,但如果某些精灵具有透明度,则位置和大小不足以使光线投射完美,因为它只会击中“边界框”。那么有没有一种方法可以使用 Bresenham 算法(我相信这是最轻的方法,如果我错了,请纠正我)并在 openGL 中使其像素完美,这样我就可以获取光线与实际非的碰撞点- 它出现的第一个精灵的透明区域?
问问题
311 次