Wings 3D Development Forum
Problem with normals - Printable Version

+- Wings 3D Development Forum (https://www.wings3d.com/forum)
+-- Forum: Wings 3D (https://www.wings3d.com/forum/forumdisplay.php?fid=1)
+--- Forum: Interface & Usage (https://www.wings3d.com/forum/forumdisplay.php?fid=3)
+--- Thread: Problem with normals (/showthread.php?tid=715)



Problem with normals - ios29a - 05-10-2014

Kinder question
[Image: mVxcBuvD1GaCLcBgnVGPRXJnw7gDV8q-bH4jI-Eh...XXL&crop=0]
Why the surface of the gear is not flat while rendering ?
Its rendered by Kerkythea but in final program its rendered the same - seems wrong normals, why this happens ?
PS. right images - UV mapping then real view of the gear


RE: Problem with normals - micheus - 05-10-2014

It's because of the n-gons faces (face with more then 4 sides - edges). Wings will triangulate it before OpenGL can render it. Most engines/renders also require triangles faces.
I'm not expert on that, so I'm going to past a small text that I got from this link:
Quote:When NGons are okay
On completely flat surfaces.
Hidden areas of models that will never be seen or used for any reason (but this still sloppy and not desirable)
As a temporary holding surface that will later be replaced with clean quads.

When NGons are not okay
On any model that will be exported to another artist or engine
On a model that will deform through animation
On a model with SubD (unless that area is completely flat, and surrounded by a quad-loop)

There's many different reasons for each of the above, but here's a few:
NGons should not be used on deforming models as you want to have absolute control over how the surface is generated and how it appears at render time.
NGons should never be used on a model that is being exported as you don't necessarily know if the importer on the other side will support NGons or if the next artist will treat them as you intended.
NGons should never be used on real-time models as you won't know how they'll be triagulated.



RE: Problem with normals - ios29a - 05-10-2014

(05-10-2014, 12:59 PM)micheus Wrote: It's because of the n-gons faces (face with more then 4 sides - edges). Wings will triangulate it before OpenGL can render it. Most engines/renders also require triangles faces.
I'm not expert on that, so I'm going to past a small text that I got from this link:
Quote:When NGons are okay
On completely flat surfaces.
Hidden areas of models that will never be seen or used for any reason (but this still sloppy and not desirable)
As a temporary holding surface that will later be replaced with clean quads.

When NGons are not okay
On any model that will be exported to another artist or engine
On a model that will deform through animation
On a model with SubD (unless that area is completely flat, and surrounded by a quad-loop)

There's many different reasons for each of the above, but here's a few:
NGons should not be used on deforming models as you want to have absolute control over how the surface is generated and how it appears at render time.
NGons should never be used on a model that is being exported as you don't necessarily know if the importer on the other side will support NGons or if the next artist will treat them as you intended.
NGons should never be used on real-time models as you won't know how they'll be triagulated.
Thanks for your reply.
OpenGL renders its normally by Hemispherical Lighting shader, there normals after export are wrong, real poligons are triangulated before transformation to the real format.
However, is there any way to transform n-gons to triangles, maybe it may help ?


RE: Problem with normals - Nova - 05-10-2014

If you want flat shading, you'll have to specify hard edges (Either manually in edge mode and going Hardness>Hard/Soft, or using the autosmooth function in bodymode.). You can also do this in Kerkythea but I forget how.

As for triangulation, you can do it automatically in some of the exporters (Like 3DS and OBJ), or you can select you object in body mode, switch to faces (So all faces are selected) and go Tesselate>Triangulate.


RE: Problem with normals - ios29a - 05-10-2014

(05-10-2014, 04:26 PM)Nova Wrote: If you want flat shading, you'll have to specify hard edges (Either manually in edge mode and going Hardness>Hard/Soft, or using the autosmooth function in bodymode.). You can also do this in Kerkythea but I forget how.

As for triangulation, you can do it automatically in some of the exporters (Like 3DS and OBJ), or you can select you object in body mode, switch to faces (So all faces are selected) and go Tesselate>Triangulate.
Thanks for your help !!!
Solved by using hardness->hard
[Image: _hnu-BCf8U7ztTubpjcCuk6bXgfWyNLC9pRXftHB...XXL&crop=0]
[Image: R9Ah8QtXNTj2raN9D9PMBUj3BOZWLFeNE4KO7o4z...XXL&crop=0]