Skip to content

Latest commit

 

History

History
38 lines (27 loc) · 1.43 KB

README.md

File metadata and controls

38 lines (27 loc) · 1.43 KB

ObjLoader Build statusNuGet version

Objloader is a simple Wavefront .obj and .mtl loader

Installation

Build the project and reference the .dll or reference the project directly as usual.

Loading a model

Either create the loader with the standard material stream provider, this will open the file read-only from the working directory.

var objLoaderFactory = new ObjLoaderFactory();
var objLoader = objLoaderFactory.Create();

Or provide your own:

//With the signature Func<string, Stream>
var objLoaderFactory = new ObjLoaderFactory();
var objLoader = objLoaderFactory.Create(materialFileName => File.Open(materialFileName);

Then it is just a matter of invoking the loader with a stream containing the model.

var fileStream = new FileStream("model.obj");
var result = objLoader.Load(fileStream);

The result object contains the loaded model in this form:

public class LoadResult  
{
    public IList<Vertex> Vertices { get; set; }
    public IList<Texture> Textures { get; set; }
    public IList<Normal> Normals { get; set; }
    public IList<Group> Groups { get; set; }
    public IList<Material> Materials { get; set; }
}