首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >启用MultiSampling会导致不绘制精灵

启用MultiSampling会导致不绘制精灵
EN

Stack Overflow用户
提问于 2018-04-09 00:27:07
回答 1查看 39关注 0票数 0

在MonoGame项目中,当我在Initialize()方法中执行此操作时

代码语言:javascript
复制
graphics.PreferMultiSampling = true;
graphics.ApplyChanges();
Console.WriteLine($"Device: {graphics.GraphicsDevice.Adapter.Description}");
Console.WriteLine($"Anti-aliasing: {(rasterizer.MultiSampleAntiAlias ? "YES" : "NO")}");
Console.WriteLine($"MultiSampling: {(graphics.PreferMultiSampling ? "YES" : "NO")}");

这是在我的Draw方法中

代码语言:javascript
复制
GraphicsDevice.Clear(Color.CornflowerBlue);
spriteBatch.Begin(rasterizerState: rasterizer);
DrawCheckerboard();
spriteBatch.End();
base.Draw(gameTime);

但是,如果为PreferMultiSampling = false,则结果为:

这是用一个干净的新项目测试的,我唯一添加的是

代码语言:javascript
复制
RasterizerState rasterizer = new RasterizerState { MultiSampleAntiAlias = false };

与SpriteBatch一起使用

代码语言:javascript
复制
spriteBatch.Begin(rasterizerState: rasterizer);

但是添加/删除它不会有任何影响。

棋盘是使用放大的单像素纹理绘制的。

代码语言:javascript
复制
pixel = new Texture2D(GraphicsDevice, 1, 1);
pixel.SetData(new[] { Color.White });

绘制过程(可能与问题的原因无关)如下所示:

代码语言:javascript
复制
void DrawCheckerboard() {
    bool IsWhite(int x, int y) {
        var a = x % 2 == 0;
        var b = y % 2 == 0;
        return a == b;
    }

    for (int y = 0; y < 8; y++) {
        for (int x = 0; x < 8; x++) {
            var coordinates = ScaleCheckerboardCoordinatesToScreen(new Point(x, y));
            spriteBatch.Draw(pixel, new Rectangle(coordinates, new Point(squareSize)), IsWhite(x, y) ? Color.White : Color.Black);
        }
    }
}
Point ScaleCheckerboardCoordinatesToScreen(Point coordinates) {
    return new Point(offsetX + coordinates.X * squareSize, offsetY + coordinates.Y * squareSize);
}

这个问题的原因是什么?

EN

回答 1

Stack Overflow用户

发布于 2018-04-09 18:30:32

我浏览了一下,遇到了this site

我猜想这是因为你改变了颜色,而多重采样器无法处理这一点。

一个想法是,不改变颜色,而是使用黑色和白色的精灵。

如果成功了就告诉我。

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

https://stackoverflow.com/questions/49720100

复制
相关文章

相似问题

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