游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7852|回复: 28

救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢工

[复制链接]

36

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
发表于 2005-9-22 08:45:00 | 显示全部楼层 |阅读模式
做了一个大规模室外地形渲染的例子,用小尺寸地图(2049X2049)还可以,但是毕竟真正的游戏都是大地形,结果把地形加大,问题出来了,VC报告如下

warning LNK4084:
total image size -1582247936 exceeds max (268435456); image may not run

然后就不运行。



我认为问题出在我的数组上。我用的是顶点数组所以定义了一个 int vertexarray[MapSize*MapSize*3]的数组,这里实际的MapSize就是8193,可能是 vertexarray[8193*8193*3]这个数组超过了VC的承受能力?如果连8193这么大的地图都无法接受,那魔兽世界或是天堂2等超大地图是怎么实现的呢?

我觉的各位做过实际游戏的人一定能轻松解决这个问题,因为商业游戏都是超大地形。





15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-9-22 08:54:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

"因为商业游戏都是超大地形"没感觉这个,BF1942用的还是257*257的

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-9-22 08:58:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

2049X2049作为单独的一张高度图的数组已经很大了,建议你分块处理

36

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
 楼主| 发表于 2005-9-22 09:19:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

2楼3楼的(应该是一个人),我说的地图大小不是高度图,而是世界地图的大小,高度图的话很小的高度图就能表现很大的地形,问题我说的是实际的地图大小。

36

主题

109

帖子

109

积分

注册会员

Rank: 2

积分
109
 楼主| 发表于 2005-9-22 09:21:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

实在不好意思,纠正我的一处错误,我定义的数组不是 int vertexarray[MapSize*MapSize*3]而是float  vertexarray[MapSize*MapSize*3],刚才着急打错了,里面存放的是顶点的x,y,z分量的坐标值,所以不可能是int型的。

0

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2005-9-22 09:24:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

为什么要存3个分量

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-9-22 09:41:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

你用D3DVECTOR或者D3DXVECTOR3 不行吗?

90

主题

797

帖子

833

积分

高级会员

论坛版主

Rank: 4

积分
833
QQ
发表于 2005-9-22 10:30:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

别静态分配,用new吧,保证好使。

15

主题

1268

帖子

1268

积分

金牌会员

Rank: 6Rank: 6

积分
1268
发表于 2005-9-22 11:11:00 | 显示全部楼层

Re: Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC

源代码之光: Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢工了。

别静态分配,用new吧,保证好使。

本该如此,高度图应该不是固定大小

0

主题

18

帖子

18

积分

新手上路

Rank: 1

积分
18
发表于 2005-9-22 11:17:00 | 显示全部楼层

Re:救命!定义了一个8193 X 8193 的室外地形数组,结果VC罢

请原谅我上面那个蠢问题
楼主是用opengl的吗
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-27 22:01

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表