我正在开发一个使用XNA框架进行3D渲染的应用程序.我现在想从文件加载纹理.到目前为止我找到了两种方法:
Texture2D.FromStream(GraphicsDevice, Stream) 这种方法的问题是它只加载gif,png和jpg,我还需要支持tga图像.ContentManager对象.这种方法的问题在于,似乎需要将所有纹理静态添加到项目中,从文档中说明:"在ContentManager加载资产之前,您需要将资源添加到游戏项目中".有问题的程序是一个关卡编辑器,预先不知道需要哪些纹理.有没有其他简单的方法来加载纹理,我正在考虑使用其他类加载图像(虽然我不知道哪个,我不是很熟悉C#)然后可能使用该Texture2D.SetData方法?
有没有其他简单的方法来实现我想要实现的目标?
有几种方法可以实现您想要的:
您可以从编辑器中调用内容管道,动态创建内容项目。WinForms 系列 2 示例中描述了如何执行此操作。这可能是“最好”的方式,因为它允许您继续使用内容管道。
正如您所说,您可以自己解码 TGA 文件并使用SetData. Google 上有很多适合 C# TGA 读者的结果。这是第一个。
| 归档时间: |
|
| 查看次数: |
12852 次 |
| 最近记录: |