Is a mesh a 3d model?

Started by
6 comments, last by Scouting Ninja 11 years, 1 month ago

Short question; Is a 'mesh' a '3d model'?

I need abit of terminology check, as I'm not sure what exactly separates a 3d model from a mesh, or if its the same thing.

Advertisement

Short answer: yes.

Longer answer: As far as I've heard the terms used, "mesh" is used to talk more specifically about the raw set of polygons that creates something. A 3D model is made out of a "mesh" of triangles, so the answer to the question is at least a partial yes. However, (again this goes back to how I've heard the terms used most frequently) a 3D model might have more data associated with it than a raw mesh (for example, texturing or lighting information, animation, bone structures, etc.). Basically, a mesh is a set of polygons (triangles) that makes up some object. A "3D model" is typically formed out of a mesh, but often has extra data like textures, animations/joints, etc. associated with it.

[size=2][ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

Short answer: yes.

Longer answer: As far as I've heard the terms used, "mesh" is used to talk more specifically about the raw set of polygons that creates something. A 3D model is made out of a "mesh" of triangles, so the answer to the question is at least a partial yes. However, (again this goes back to how I've heard the terms used most frequently) a 3D model might have more data associated with it than a raw mesh (for example, texturing or lighting information, animation, bone structures, etc.). Basically, a mesh is a set of polygons (triangles) that makes up some object. A "3D model" is typically formed out of a mesh, but often has extra data like textures, animations/joints, etc. associated with it.

to take it further:
a 3D model is a more generic term, and may actually include geometry which isn't strictly a mesh (such as NURBS or CSG), which are often tessellated into a mesh prior to rendering, but are not necessarily themselves a mesh, and may in-fact contain any number of meshes.


as-is, often the meshes one sees in a 3D engine are boiled down into a big glob of triangles, mostly since as-is, this is the main thing the graphics hardware is happy with (things like polygons and quads generally end up being broken down into triangles prior to the geometry going off to the GPU).

though, sometimes, the "mesh" still refers to a higher-level polygonal representation, with the broken-down triangle-arrays as secondary data (often associated with the mesh, but not the mesh proper).

or, sometimes, the renderer might be structured in such a way to query all the visible polygons from visible (mesh) models (for the current frame), then cook these down into piles of triangle arrays, which are then what are actually used for rendering (generally because the renderer may redraw the visible scene geometry a number of times in a given frame, such as redrawing it multiple times to apply the light from various light-sources, ...).

Often I've also seen models that contain multiple meshes

The mesh is the data describing the points that make up the object (This includes faces and edges). This is just one small part of the model.

"Model" is a generic term. It means any data related to drawing a 3d item onto the screen. Exactly what data this includes depends on the program or file format. In some case it might just be the mesh, although usually it also includes some of the following:

  • Material - the colours, shading models, and other things that determine how to apply lights and rendering
  • Textures - the images that are mapped onto the mesh
  • UV - co-ordinates that determine how textures are applied to the mesh
  • vertex groups - used to break the model into smaller chunks for special purposes
  • bones / armatures - used to link parts of the mesh to specific parts of animations
  • animations - how the mesh moves

... the list goes on, depending on what you're trying to do with the mesh.

I'll just re-enforce the above with an image I posted the other day to ScreenshotSaturday

http://screenshotsaturday.com/images/directlink_BET1gACCEAEYrua.jpg

I have a 3D object called DummyRig. It consists of a world position, a rotation, and a scale. You can call it a model, but a 3D object doesn't have to be. It could be a light, a particle system, a marker, a target.

It references a MESH data block, which is the green man you see. As stated above, this is vertex, edge, polygon, etc data.

The mesh references a material called 'vertex colors' which tells the renderer to use the vertex colors in the mesh data to color the model.

The mesh also references a skeleton (seen in stick form in the image above), which will tell it how to deform. The skeleton refers to the mesh data in the form of vertex groups, which is list for each bone of which vertices they will affect. A vertex in the mesh can belong to more than 1 vertex group.

A Model is just that, A Model. Like a model Car or Plane, a Person or a geographical location. In the computer world, a virtual Model is comprised of a mesh or meshes.

A mesh is a virtual surface, ( I am not going to get to technical here just trying to explain the differences in simple terms ) This virtual surface is what you see.

1 more example would be to ask if a lump of clay is a model ? No! But as you shape it into something identifiable it becomes a model. So maybe you could think of a mesh as a 2D lump of clay, bent and shaped and added to other 2D lumps of clay to produce a 3D Model.

Your Brain contains the Best Program Ever Written : Manage Your Data Wisely !!

NO! a mesh isn't a 3d Model, but most 3d models have meshes.(exceptions are voxel models,solid models,ens....)

A 3d model usually consist of a Object(sometimes known as a Node) with a input for a mesh or a array of meshes, a Material with a input for a Texture or a array of textures.

In short:a 3d object can swap meshes like textures.

This topic is closed to new replies.

Advertisement