更改 Content.Load 格式
本文关键字:格式 Texture2D Content Load 更改 | 更新日期: 2023-09-27 18:31:51
我们正在XNA中开发一些游戏,感谢Mono+MonoGame+MonoForAndroid,这些游戏将在所有三个主要的移动平台上准备就绪。问题是,由于我们需要使用尽可能少的内存以避免设备崩溃,因此我们选择使用纹理格式 Bgra5551。
不幸的是,当您调用 Load 方法时,内容管理器对纹理 (A8R8G8B8) 使用颜色格式。
我的问题是:我可以使用 Content.Load 以某种方式获得 5551 纹理吗?
我已经有了将 32 位纹理转换为 16 位纹理的代码。我在想一种方法来覆盖 Load 方法,但我没有找到任何东西。
我怎么可能?
谢谢
-尼古拉·马尔切桑
默认纹理处理器不支持该输出纹理格式,但也许您想创建自己的纹理处理器...
[ContentProcessor(DisplayName = "MyTextureProcessor")]
public class TextureContentProcessor : TextureProcessor
{
public override TextureContent Process(TextureContent input, ContentProcessorContext context)
{
TextureContent data = base.Process(input, context);
// Convert data
return data;
}
}