使用矩阵缩放时的纹理渲染问题

时间:2017-05-13 16:15:40

标签: c# .net xna rendering monogame

我正在开发一款游戏(在XNA / MonoGame中),其中我拥有大量的世界,包含许多具有不同纹理的单独瓷砖。我将我的世界存储为2D数组并进行渲染,我只需遍历每个图块并将其绘制在正确的位置。

最近我在相机中实现了缩放功能。我的游戏相机是在通常的#39; XNA方式,您可以根据位置和比例创建矩阵,并将其传递到SpriteBatch.Begin()调用中。我的变换矩阵计算如下:

Transform = Matrix.Identity * Matrix.CreateTranslation(-(int)Position.X, -(int)Position.Y, 0) * Matrix.CreateTranslation(Origin.X, Origin.Y, 0) * Matrix.CreateScale(Scale);

我现在面临的问题是当我放大(通过更改相机的缩放变量)时,某些平铺纹理在某些缩放级别看起来很奇怪。以下是一些显示我的意思的图片:

这是一张完美精确缩放级别的地图:

这是相同地图的缩小(和裁剪)视图,注意沙子纹理是如何被强调的"升级":

我没有太多的图形编程经验,也不知道这是由什么引起的,但是它让地图看起来很笨拙。

0 个答案:

没有答案