用OpenGL制作三维迷宫(一)

<style type="text/css"> <!-- @page {margin:2cm} p.我的格式-western {font-family:"DejaVu Sans",sans-serif; font-size:10pt; page-break-before:auto} p.我的格式-cjk {font-size:10pt; page-break-before:auto} p.我的格式-ctl {font-size:12pt; page-break-before:auto} p {margin-bottom:0.21cm} --> </style>

OpenGL制作三维迷宫(一)

前面几日我重新实现了迷宫的自动生成方法,并且添加了迷宫自动寻路方法。有了一个独立于GUI的迷宫库,我开始迫不及待地实现三维迷宫了!

<style type="text/css"> <!-- @page {margin:2cm} p.我的格式-western {font-family:"DejaVu Sans",sans-serif; font-size:10pt; page-break-before:auto} p.我的格式-cjk {font-size:10pt; page-break-before:auto} p.我的格式-ctl {font-size:12pt; page-break-before:auto} p {margin-bottom:0.21cm} --> </style>

演示程序下载地址这里

下面是迷宫的截图


研制三维迷宫,需要攻破几个难点:

1、迷宫的生成。如果你是将迷宫数据硬编码或者从文件中读取,那么此步掠过,否则可以看看我写的文章:这里

2、纹理贴图知识。我使用的是游戏开发领域比较常用的tga文件格式。为此我写了一个读写tga文件的类,自己设定纹理贴图的方式。

3、摄像机系统。摄像机系统是第一人称游戏必须具备的功能。我自己也制作了一个基于OpenGL的摄像机系统的实现

除此之外,在研究的过程中,还有一些需要突破的知识难关:

1、怎样将迷宫类的行和列映射到真实的三维坐标中?迷宫应该用哪个参考系来描述?

2、迷宫的“上、下、左、右”在三维中应该叫做什么?

3、三维点绘制顺序以及OpenGL裁剪模式造成的一些面不可见问题。

4、怎样设置阻挡?

5、绘制二维视图的问题。

在下一篇博客,我会简单地介绍我是怎么解决上面五个问题的。

下载了演示程序后,如有需要,可以更改Config.lua文件的内容,以获得不同的效果。下面是截图:


喜欢我的作品,一定要回复支持我啊。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值