【问题标题】:Monogame (VB) .mgfx effect was built for a different platformMonogame (VB) .mgfx 效果是为不同的平台构建的
【发布时间】:2016-02-25 05:58:43
【问题描述】:

我正在尝试在我的游戏中添加高斯模糊,当我尝试将其导入我的项目时,我不断收到此错误。这是我用来定义效果的代码:

Dim bytes As Byte() = File.ReadAllBytes("Content\Effects\effects.mgfxo")
Dim effect As Effect = New Effect(Game.graphics.GraphicsDevice, bytes)

在将 .fx 文件的代码转换为 .mgtx 之前,我是否需要指定平台?谢谢!

【问题讨论】:

  • 我对 mgfxo 文件了解不多,但也许 this post on the MonoGame forums 会引导您走向正确的方向。如果您确实在那里找到了答案,请在堆栈溢出时将答案发回此处。

标签: vb.net monogame effect


【解决方案1】:

经过一番困惑,我终于(有点)找到了答案。问题在于 .fx 文件中的代码。此代码在我的 Windows 10 PC 上运行而没有崩溃:

PixelShader = 编译 ps_4_0_level_9_1 PS_GaussianBlur();

更改代码后,我使用 monogame 管道工具将其转换为 xnb 文件并将其放入我的 content/Effects 文件夹中。然后我用这段代码直接运行它:

Dim effect As Effect = content.Load(Of Effect)("Effects\GaussianBlur")

说了这么多,高斯模糊效果不会出现。每当我尝试这样做时,输出的 texture2D 只是一种纯色(颜色取决于原始图像左上角的颜色)。如果有人知道如何解决它,我将不胜感激,尽管我会为此设置一个新问题并提供更多细节。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-13
    • 2013-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多