0

我正在为游戏(GTA IV)制作小地图/雷达,我想知道如何隐藏或删除方形地图区域之外的地图纹理的部分/像素。该函数将在每一帧运行,因此我正在寻找一种有效的方法来执行此操作,最好使用一些轻量级库或 directX。

到目前为止,我想到的是“手动”检查每个像素的坐标,或者纹理中的每一行像素,看看它是否在雷达区域之外,但我想这需要相当多的资源大约 4每帧 512*512 个纹理。

我怎样才能有效地做到这一点?谢谢,很抱歉,如果这已经发布了一百万次,但还没有找到与标准图像编辑无关的内容。

4

1 回答 1

0

如果我理解正确,您想根据当前位置和实际地图从地图中删除像素。为什么干脆不使用透明度?基本上,您在 CPU 上填充像素数据(在您的游戏代码中),然后更新视频卡上的纹理。如果地图没有改变,那就更好了,您可以先在大纹理中完成所有这些操作,然后将其加载到 GPU 上(甚至手动完成)并更改纹理坐标以显示您感兴趣的部分。

于 2013-08-28T14:48:53.507 回答