Vb.net mgfx效果是为不同的平台构建的

Vb.net mgfx效果是为不同的平台构建的,vb.net,monogame,effect,Vb.net,Monogame,Effect,我试图在我的游戏中植入一个高斯模糊,当我试图将它导入到我的项目中时,我不断地遇到这个错误。下面是我用来定义效果的代码: Dim bytes As Byte() = File.ReadAllBytes("Content\Effects\effects.mgfxo") Dim effect As Effect = New Effect(Game.graphics.GraphicsDevice, bytes) 在将.fx文件转换为.mgtx之前,是否需要在代码中的某个地方指定平台?谢谢 在经历了许多

我试图在我的游戏中植入一个高斯模糊,当我试图将它导入到我的项目中时,我不断地遇到这个错误。下面是我用来定义效果的代码:

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

在将.fx文件转换为.mgtx之前,是否需要在代码中的某个地方指定平台?谢谢

在经历了许多困惑之后,我终于(稍微)想到了我的答案。问题在于.fx文件中的代码。此代码在我的windows 10 PC上运行时未崩溃:

PixelShader=编译ps_4_0_level_9_1 ps_GaussianBlur()

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

作为效果的昏暗效果=内容。负荷(效果)(“效果\高斯模糊”)


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

在经历了许多困惑之后,我终于找到了我的答案(有些)。问题在于.fx文件中的代码。此代码在我的windows 10 PC上运行时未崩溃:

PixelShader=编译ps_4_0_level_9_1 ps_GaussianBlur()

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

作为效果的昏暗效果=内容。负荷(效果)(“效果\高斯模糊”)


不管怎么说,高斯模糊效果都不会发生。每当我尝试这样做时,输出纹理2d只是一种纯色(颜色取决于原始图像左上角的颜色)。如果有人知道如何修复它,我将不胜感激,不过我将为此提出一个新问题,并提供更多细节。

我对mgfxo文件了解不多,但可能会为您指引正确的方向。如果你确实在那里找到了答案,请将答案发布到堆栈溢出上。我对mgfxo文件不太了解,但可能会引导你朝着正确的方向前进。如果您确实在那里找到了答案,请将答案张贴在堆栈溢出上。