MD2 Format

From GICL Wiki
Jump to: navigation, search

Title(s): MD2 for id Tech 2 engine

Version ID: MD2

Date released: 1997-11-01 (Released with Quake 2)

Date: 1997

Creator(s): id Software

Contributor(s): id Software

Relationships: - Created by id Software for use in the id tech 2 game engine. Id tech 2 replaced id tech 1. Structured data for drawing models using GL_TRIANGLE_FAN and GL_TRIANGLE_STRIP commands from OpenGL.

  • Syntax Format(s): An MD2 file contains structured data for drawing models using GL_TRIANGLE_FAN and GL_TRIANGLE_STRIP commands from OpenGL. It is comprised of the Header and the data. The header contains all the information used to manipulate the data

Description: Designed to model triangle data for frame by frame animation for use in video game rendering. Note that this is a mesh only model. Texture data is contained elsewhere.

History: Originally released with Quake II, the format and engine were also licensed to other games of the time. Notable games using this format and engine are Quake II, Heretic II, and SIN.

Example(s): MD2 Example - Information and example models of the engineering format.

Identifier: MD2 specification: http://icculus.org/~phaethon/q3a/formats/md2-schoenblum.html

Documentation: MD2 Documentation - Information in general about the engineering format.

File Extensions: .md2

Applications: - Applications that the engineering format uses.

Magic numbers: IDP2

Format(s): md2

Rights: While the Quake II engine is proprietary, I can find no information on the MD2 format itself for licensing.

Sustainability Factors: - Facts about the sustainability of this particular engineering format.

  • Standardization: None, this format has been superseded by other formats, including MD3.
  • Adoption: Format was adopted by several other games, but has since been superseded.
    • Licensing and patent claims: While the Quake II engine is proprietary, I can find no information on the MD2 format itself for licensing.
  • Self-documentation: None
  • External dependencies: OpenGl is used, but that functionality can be found in other libraries.
  • Technical protection considerations: None Certain aspects of the game engine used libraries to protect aspects of the engine, but the MD2 format was openly exposed for use.

Typical use: Video Games, specifically those using the id Tech 2/Quake II engine

File classification: - Specific properties that pertain to this engineering format.

  • Type {Binary, Text}: Binary
  • Raster data: - Section describes whether or not the engineering format supports raster data.
    • Raster data 2D: - Can the format support 2D raster data? Example: A format that can contain 2D pixelated data supports 2D raster data.
      • Is Supported: No
      • Description: The format is a mesh only format. Raster data would be stored elsewhere.
    • Raster data 3D: - Can the format support 3D raster data? Example: A format that can contain 2D pixelated data of a 3D model supports 3D raster data.
      • Is Supported: No
      • Description: The format is a mesh only format. Raster data would be stored elsewhere.
  • Geometric representation: - Section describes whether or not the engineering format supports geometric representations.
    • Implicit representation: - Section describes whether or not the engineering format supports implicit representations.
      • Implicit surfaces: - Can the format support implicit surfaces? Example: A format that can contain surfaces that are generated with mathematical equations that contain the independent variables x, y, and z, like x^2 + y^2 + z^2 * R^2 = 0, supports implicit surfaces.
        • Is Supported: No
        • Description: MD2 is a triangular surface map format.
      • Implicit curves: - Can the format support implicit curves? Example: A format that can contain curves that are generated with mathematical equations that contain the independent variables x, y, and z, supports implicit curves.
        • Is Supported: No
        • Description: MD2 is a triangular surface map format.
      • Point set: - Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.
        • Is Supported: Yes
        • Description: MD2 is a triangular surface map format. This is a primary function of the MD2 type.
    • Mesh: - Section describes whether or not the engineering format supports mesh.
      • Manifold surface meshes: - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: Yes
        • Description: MD2 is a triangular surface map format, therefore a manifold mesh can be created.
      • Manifold volume meshes: - Can the format support manifold volume meshes? Example: A format that supports volumes that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: Yes, but this is not the primary use of the format.
        • Description: MD2 is a triangular surface map, therefore a manifold volume could be created. However, the primary use of the format is for 3D animation, and internal volume representation is not a primary use.
      • Non-manifold meshes: - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
        • Is Supported: Yes
        • Description: Non-manifold meshes can be created with the format.
    • Parametric representation: - Section describes whether or not the engineering format supports parametric representations.
      • Parametric surfaces: - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
        • Is Supported: No
        • Description: MD2 is a triangular surface map format.
      • Parametric curves: - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
        • Is Supported: No
        • Description: MD2 is a triangular surface map format.
    • Contour sets: - Can the format support contour sets?
      • Is Supported: No
      • Description: MD2 is a triangular surface map format.
    • NURBS: - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
      • Is Supported: No
      • Description: MD2 is a triangular surface map format. While a NURBS surface could be created from the points, there is nothing intrinsic to the format that allows for them.
  • Multi-resolution models: - Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.
    • Is Supported: Somewhat
    • Description: Multiple scales can be rendered from a single mesh, but the subsequent renders would be separate files.
  • Dynamics: - Section describes whether or not the engineering format supports dynamics.
    • Kinematics: - Can the format support kinematics? Example: Does the format allow model parts to rotate?
      • Is Supported: Yes
      • Description: Framebase animation is one of the primary functions of the format.
    • Assembly: - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
      • Is Supported: Limited Only for assembling skin data on top of the mesh data.
      • Description: The file format allows for skin data to be mapped on top of the mesh.
    • Force(s): - Can the format support forces? Example: Does the format support acceleration forces?
      • Is Supported: No
      • Description: Primarily used for animation, force data is not implicit in the format.
  • Boundary representation - Can the format support models with boundary representations?
    • Manifold surface boundary representations: - Can the format support manifold surface boundary representations? Example: The engineering format STEP
      • Is Supported: No
      • Description: No boundary data, outside of the mesh itself, is called out in the format specification.
    • Manifold volume boundary representations: - Can the format support manifold volume boundary representations? Example: The engineering format STEP
      • Is Supported: No
      • Description: No boundary data, outside of the mesh itself, is called out in the format specification.
    • Non-manifold boundary representations: - Can the format support non-manifold boundary representations? Example: The engineering format STEP
      • Is Supported: No
      • Description: No boundary data, outside of the mesh itself, is called out in the format specification.
  • Material transparency: - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
    • Is Supported: Yes
    • Description: Because the format allows for any skin data to ride atop the mesh data, transparency would be possible.

References: A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.
http://games-softwares.com/?p=23
http://tfc.duke.free.fr/coding/md2-specs-en.html
http://icculus.org/~phaethon/q3a/formats/md2-schoenblum.html
http://gpwiki.org/index.php/MD2
http://en.wikipedia.org/wiki/.md2