通用三维纹理加载方法

本文关键字:加载 方法 纹理 三维 | 更新日期: 2023-09-27 18:28:42

使用C#和XNA,是否有方法可以调用并加载一个3D模型和一个显示它的方法?(换句话说,通用3D T模型加载方法和通用3D模型显示方法)。而不是为每个3D模型使用长代码?例如,不是所有的长代码都有一个带有加载代码的方法,该方法采用两个参数(3DModelName、fileLocation),然后有一个包含所有三维绘图代码的方法(3DModelName、Location)。这可能吗?提前感谢。

通用三维纹理加载方法

不确定我是否完全理解你的要求,但以下是非常标准的Xna,它尽可能简短。

文件位置在Xna中实际上是不相关的。您只需将文件(fbx或x)添加到解决方案资源管理器中的内容项目中,就不需要关心代码中的文件位置。

//in the fields section of some class
Model myModel;
//in an initialization or loadContent method of the same class
myModel = LoadMyModel(name, Content);
//load & draw methods that can be called any time as long as they are in scope
Model LoadMyModel(string name, ContentManager content)
{
  return content.Load<Model>(name);
}
void DrawModel(Model myModel, Matrix worldTransform, Matrix view, Matrix projection)
{
   myModel.Draw(worldTransform, view, projection);
}