Nine.Graphics icon indicating copy to clipboard operation
Nine.Graphics copied to clipboard

3D Models

Open erictuvesson opened this issue 10 years ago • 5 comments

How would models work with different types of material?

erictuvesson avatar Jun 10 '15 00:06 erictuvesson

Lets separate the concept of material and rendering pipeline, then start with a fixed material. This material contains the most basic and commonly used parameters including DiffuseColor, DiffuseTexture, NormalTexture, SpecularColor, SpecularTexture..., the rendering pipeline then picks up the material and render the model differently. There might be a forward pipeline, a deferred pipeline, and probably some custom pipeline, the all work against the above material definition. The point is to put the shaders inside pipeline, and materials are just declarations of what models should look like. This way, we can restyle the world by switching to a new pipeline.

But there are times when a model wants to be different and be rendered using a custom shader, lets tackle that problem later :)

yufeih avatar Jun 10 '15 00:06 yufeih

Where are we going to handle the loading of models? Should it be in Nine.Geometry, but then there is animation too. So in Nine.Graphics (.Content)?

erictuvesson avatar Jul 22 '15 17:07 erictuvesson

Just like textures, the loader will be in Nine.Graphics.Content, the loader may reference other model loading libraries for the actual parsing.

yufeih avatar Jul 23 '15 03:07 yufeih

If we are going the same way as font loading then I would suggest using Assimp.

erictuvesson avatar Jul 23 '15 20:07 erictuvesson

That is a really impressive library. Thanks for the recommendation!

yufeih avatar Jul 24 '15 02:07 yufeih