目前我正在一个小的项目只是为了一点乐趣。 它是使用OpenGL一个C ++,WinAPI的应用。
我希望它会变成一个RTS游戏在六边形网格内发挥,当我得到基本的游戏引擎做的,我有计划进一步扩大它。
目前,我的应用程序由一个保存顶点和高度图信息的VBO的。 高度图是利用中点位移算法(类金刚石正方形)中产生。
为了实现一个六边形网格内,我去的想法解释这里 。 它向下移动一个正常电网的奇数行,让六边形的相对容易的渲染,没有太多进一步的并发症(我希望)。
几天后,它开始走到一起,我已经添加了鼠标采摘,这是由渲染网格中的每个十六进制以独特的颜色,然后取样给定的鼠标位置这个FBO内确定所选的ID来实现小区(在下面的屏幕截图的右上方可见)。
在我的项目的下一阶段,我想看看创造更多的“可玩性”地形。 对我来说这意味着每个六边形的形状应该比上述那些在图像中看到的更规则。
因此,最后来到我的观点,有:
- 平滑或调整在我目前的方法顶点,将带来一个六角形的所有点到一个平面(共面)的方式。
编辑:对于那些寻找关于如何使共面点的信息在这里是一个伟大的explination 。
- 一个更好的办法,以程序地形生成,将允许更好地控制这一类的事情。
- 一种方法来表示我以不同的方式,让这个顶点信息。
需要明确的是,我不是想实现与凸起的边缘或平台的扁平六角形网格(如下图所示)。
)
我想所有的几何形状加入并带领进入下一个位。
我希望实现的相似,我现在已经(比较好的山峦起伏的地形和),但更多的可控高原东西。 这给了我盘带断区(无法播放砖)后来,在那里我可以补充,如果需要更高的细节网格的灵活性。
任何意见是值得欢迎的,我用这个作为一个学习的,所以请 - 所有评论欢迎!