3.7 Wavefront obj broken

I had a machine crash and had to re-build.

In the process I upgraded Monogame to 3.7

In one app I had a small mesh in wavefront obj format. It no longer runs.

The build tools handle it fine, but at run time you cannot load it. It throws an error about not finding material handlers.

I didn’t have time to look at it, so I just converted the mesh to fbx and moved on, but someone should look at it.

I also had a pixel shader fail that previously worked. I had to change it to use a struct as an input so that all the semantics lined up. Not really a problem but interesting.

The issue with the mesh is most likely this one: https://github.com/MonoGame/MonoGame/issues/6179
You should not use the AssimpImporter, but instead the FbxImporter. Yes, even though your model is not in the fbx format you need to use the FbxImporter. We’re thinking about a better way of handling this so it’s not so confusing.

Regarding the pixel shader, semantics already had to match. I’m not aware of any changes there. What version did you upgrade from?

3.6

The semantics matched, but the compiler still got the ordering wrong. No idea why.

Changing to a struct solved the issue.

I also noticed wireframe mode seems to be broken, but you probably are aware of that.

I am not, could you elaborate?

If you set the RasterizerState to one including FillMode.WireFrame nothing happens.

Tested on two different projects, both 3.7 ( not tested in 3.6 )

What platform type is this? Could you open an issue for it?

Done, thanks.

I only work on windows at the moment,

1 Like