Difference between Editable Poly & Editable Mesh

"Historically, 3D Studio DOS and then MAX were based around Tri Meshes from the beginning.
N-polygons (where N is 3 or more) usually have to be broken down to triangles at a certain stage of the calculation in order to be able to calculate the normal and the shading of the surface.

The Editable Poly is not just another way of looking at things; it is based on a completely different internal data structure. Originally, it was developed by the makers of the Nendo and Mirai software (whatever their name is today).
The popular name of the technology is "Winged Edges". The implementation of this new data structure started during Max 3 development (but there was no UI exposure in 3), then the basic UI came in Max 4 and was extended by Laszlo Sebo's Mesh tools, and matured in Max 5.

N-polygons (where N is 3 or more) usually have to be broken down to triangles at a certain stage of the calculation in order to be able to calculate the normal and the shading of the surface.

What is the difference?
Edges in this structure do not actually exist. Each face has obviously 3 sides defined by the line connecting vertices 1-2, 2-3 and 1-3, and there is a flag in the structure recording the visibility of that edge. BUT, where two faces share the same two vertices, they don't share a common edge! Each face has its own edge and when changing the visibility of the one, MAX has to make sure internally the opposite one of the neighbour faces also gets changed... All in one, there are 3 times as many edges as faces in a TriMesh, since every face has 3 of them. But finding out which edge lies between two vertices or which faces are sharing the same vertices along an edge is rather slow as the whole mesh has to be traversed to find out. As the mesh density increases, this search time gets longer and longer.

In the case of Editable Poly though, the basic building blocks of the geometry are vertices and EDGES! Polygons are defined by the edges, not the other way round. This means that finding edge loops, splitting edges, cutting through hundreds of thousands of edges with a slicing plane etc. are very fast since the edges are a structural element of the geometry and VERY easy to locate, query and change. Also, two neighbour polygons sharing an edge actually use the SAME edge, so manipulating that edge alters both polygons with a single operation.

A drawback of this structure though is that by definition, an edge can be shared by 1 (open edge, like the outside edge of a 4x4 plane) or 2 (internal edge, like the inside edge of a plane) polygons ONLY! You cannot have 3 polygons sharing the same edge (If you convert to Editable Mesh, shift + drag edge and convert back to Editable Poly, you will discover that the new poly is a "free-floating element" and not actually attached to the surface it was extruded from - it has no common edge and vertices with the original edge that was extruded).

Another drawback of Editable Poly is that the graphics pipeline that supplies the real-time renderer with triangles (can be SZB, OpenGL or Direct3D accelerator) has to do some extra work to convert the Editable Poly data to TriMesh to be displayed in the viewports. So while cutting through an Editable Poly mesh is much faster than with Editable Mesh, the display is much slower. It also explains why adding a Mesh Select or Turn to Mesh to the top of a non-animated Editable Poly makes it many times faster to redraw in the viewports..."


1.Hinge from edge
2.Extrude along spline
3.Flip
4. Nurms subdivision
5.Target weld
6.Connect vertices

The use of the Editable Mesh is still useful though as it does have some features available that are not available to the Editable poly.

The logic is that from a mathematical point of view, 3 points always define a unique plane, it is painfully easy to calculate the normal to that plane (by normalizing the cross product of two edges of the face), and thus it is very simple to render a triangle.

In the case of TriMeshes, the basic building blocks of the geometry are vertices (stored in a vertex array) and faces (each one expressed as a Point3 value where .x, .y and .z components are indices pointing at one of the vertices in the vertex array).


Features and functions you cannot find in editable mesh like: 

7. Loop
8. Ring
9. You cannot animate vertices do that with edit mesh, etc.

HOWEVER, some game engines require an object to be exported as Editable Mesh... and that seems to be the extent of its useful purpose. General there is no difference between an editable poly and an editable mesh that goes beyond the practical tool set as described by being either a poly object or a mesh object. Regardless of which you use every object created in 3d space is minimized to three points in space required to define area and shape.

Comments

Popular posts from this blog

Texture compression is Efficiency key for mobile graphics

Pixel vs. Texel

How mobile apps and games make money?