首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >巨大的区域纹理?

巨大的区域纹理?
EN

Stack Overflow用户
提问于 2009-08-10 08:00:50
回答 4查看 303关注 0票数 0

这是一个非常普遍的问题,与特定的语言无关。我有这个int数组:

代码语言:javascript
复制
int[100][100] map;

它只包含平铺编号,并渲染为256x256平铺。因此,它基本上只是一个平铺地图或任何它应该被称为。问题是,我希望能够在地图的任何位置写入任何内容,并且它应该留在那里。例如,可以在地面上的东西上绘制,如草、花、石头和其他使地形更加多样化的东西,而不必在每次渲染时渲染这些精灵大量的次数。但是让每个瓦片包含它自己的纹理来写入将会消耗大量的内存,那将是256x256x100x100 = 655360000像素来存储。那不就是千兆字节的数据吗!?

有没有人知道一个好的通用解决方案,可以在不消耗太多内存的情况下完成我想要做的事情?

如果有人怀疑我在使用C++和HGE (哈夫的游戏引擎)。

编辑:我选择限制屏幕上的内容数量,这样它就可以渲染了。但是看看这里,也许你会明白我想要实现什么:Link to image because I'm not allowed to use image tags :(

EN

Stack Overflow用户

发布于 2009-08-10 08:10:49

你必须使用alpha映射..

您将绘制一个256x256的纹理,它映射您的整个地形。对于每个通道r,g,b,a,你将用你的另一个纹理来平铺你的地形。

R= sand.jpg g= grass.jpg b= water.jpg a= soil.jpg

在着色器中,您将检查alpha贴图的颜色,并使用这些纹理进行绘制。

我现在正在做这样的事情,我喜欢这样做。

票数 0
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1253617

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档