Pure awesomeness

 From:  Michael Gibson
5880.2 In reply to 5880.1 
Hi F.ip, that's a general problem with Blender, unlike other renderers Blender just totally ignores vertex normals that are present in OBJ files, and instead calculates the normals just from averaging surrounding polygons. With CAD data it's important for the vertex normals that are stored in the file (which are very accurate and come from the original NURBS surface), to be used for the shading rather than trying to make an approximation.

This is a major limitation of Blender and it basically makes Blender not very suitable for rendering CAD data. Pretty much every other renderer that I have seen is able to read in vertex normals and use them for shading.

See here for some previous discussions on this:
http://moi3d.com/forum/index.php?webtag=MOI&msg=4272.1
http://moi3d.com/forum/index.php?webtag=MOI&msg=4515.3


> Out of curiosity, being an artist not a programmer, do you have any explanation why in the
> host applications the mesh always seems to be that much better
> compared to the render engine?

It's because the render engine is not using the same data as the host application - the display in MoI is using the real vertex normals to do the shading, that really helps with CAD generated data to make the shading look exactly the same as the true surface. Blender just skips over that particular data in the file and does not bring it in and use it for doing its rendering and with CAD generated data where there tends to be a mixture of different sized polygons in it and with large flat areas and things like that, it just does not work very well to try and create the vertex normals for shading only by averaging polygon faces, usually evidence of the polygon structure will become visible when doing that.


> I have attached an image here that shows the issue with NGONs and also when I
> triangulate the mesh. Do you have any advice to combat that?

The main advice is unfortunately just not to use Blender for rendering your MoI objects since it just lacks this basic function of reading in vertex normals. Pretty much any other renderer would produce better results for you. When the vertex normals get used those artifacts will totally disappear.

This limitation in Blender isn't as much of a big problem when working with organic sub-d geometry where the polygons are basically all fairly evenly spaced and don't have things like some big flat planar area next to a tightly curved fillet like you can have with CAD generated geometry.


It's been a big problem in Blender for a long long time now, it's really unfortunate that they are so far behind every other renderer in this fairly basic area. Maybe the more people that ask the developers about it will help get it bumped up in priority to get fixed in Blender.


- Michael