动态加载texture2D和不同的表面格式

时间:2012-11-30 13:15:52

标签: xna

有没有人知道XNA是否可以动态从jpg文件加载位图并使用其他表面格式然后SurfaceFormat.Color绘制texture2d?

由于内存/速度限制,我需要使用Bgr565Dxt surface格式。 我可以使用内容管道并将内容处理器,纹理格式设置为DxtCompressed,但Content.Load不允许动态纹理加载。

我可以使用Texture2D.FromStream,但它只会创建SurfaceFormat.Color纹理。 我尝试以所需的表面格式创建空的Texture2D并尝试使用SetData手动设置位图数据,但这似乎是一种过于复杂的方式。

Texture2D.FromStreamTexture2D.SetData是动态加载jpg文件并将其用作Bgr565Dxt曲面格式纹理的唯一方法吗?

1 个答案:

答案 0 :(得分:1)

没有使用SurfaceFormat加载的解决方案。但是你可以加载它们并将它们绘制成具有所需格式的rendertarget,然后将textureData复制到你用所需格式创建的新纹理?

会增加加载次数,但是应该允许你正在寻找的加速执行吗?