MD2 Format

From GICLWiki
(Difference between revisions)
Jump to: navigation, search
(A summary of the MD2 file format)
 
 
(12 intermediate revisions by one user not shown)
Line 1: Line 1:
 
[[Category:Engineering format]]
 
[[Category:Engineering format]]
'''Title(s):''' [[Title::]] - MD2 for id Tech 2 engine
+
'''Title(s):''' [[Title::MD2 for id Tech 2 engine]]
  
'''Version ID:''' [[Version ID::]] - MD2
+
'''Version ID:''' [[Version ID::MD2]]  
  
'''Date released:''' [[Version Date released::]] - 1997-11-01 (Released with Quake 2)
+
'''Date released:''' [[Version Date released::1997-11-01 (Released with Quake 2)]]
  
'''Date:''' [[Format Date::]] - Date the format was created (YYYY-MM-DD)
+
'''Date:''' [[Format Date::1997]]  
  
'''Creator(s):''' [[Creator::Entity Template]] - id Software
+
'''Creator(s):''' [[Creator::id Software]]
  
'''Contributor(s):''' [[Contributor::]] - id Software
+
'''Contributor(s):''' [[Contributor::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.   
 
'''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.   
  
* '''Previous Version(s):''' [[Previous Version::]] - Replaced the MDL format.
+
* '''Previous Version(s):''' [[Previous Version::Replaced the MDL format. ]]
  
* '''Contains:''' [[Contains::]] - None
+
* '''Contains:''' [[Contains::None]]
  
* '''Syntax Format(s):''' [[Syntax Format::]] - Structured data for drawing models using GL_TRIANGLE_FAN  and GL_TRIANGLE_STRIP commands from OpenGL.  
+
* '''Syntax Format(s):''' <!-- [[Syntax Format::]] --> 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
  
* '''Family Format(s):''' [[Family Format::]] - OpenGL
+
* '''Family Format(s):''' [[Family Format::OpenGL]]
  
'''Description:''' [[Description::]] - Designed to model triangle data for frame by frame animation for use in video game rendering.   
+
'''Description:''' <!-- [[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:''' [[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.
+
'''History:''' <!-- [[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):''' [[Example::Example Template]] - Information and example models of the engineering format.
+
'''Example(s):''' [[Example::MD2 Example]] - Information and example models of the engineering format.
  
'''Identifier:''' [[Identifier::]] - A URL or other identifier that refers to the engineering format.
+
'''Identifier:''' <!-- [[Identifier::]] --> MD2 specification: http://icculus.org/~phaethon/q3a/formats/md2-schoenblum.html
  
'''Documentation:''' [[Documentation::Documentation Template]] - Information in general about the engineering format.
+
'''Documentation:''' [[Documentation::MD2 Documentation]] - Information in general about the engineering format.
  
'''File Extensions:''' [[File Extension::]] - Extensions of the engineering format, excluding the dot.
+
'''File Extensions:''' <!-- [[File Extension::]] --> .md2
  
 
'''Applications:''' - Applications that the engineering format uses.
 
'''Applications:''' - Applications that the engineering format uses.
  
* '''Native application(s):''' [[Native Application::Engineering Format Application Template]] - Applications which are primarily designed to specifically run this engineering format.
+
* '''Native application(s):''' [[Native Application::id Tech 2/Quake II engine]]  
  
* '''Interoperable applications:''' [[Interoperable Application::Engineering Format Application Template]] - Applications which can read or write files of this format, but are not native applications for the format.
+
* '''Interoperable applications:''' [[Interoperable Application::OpenGL]] Models can be created in many 3D rendering packages ([[Interoperable Application::Lightwave]], [[Interoperable Application::3d Studio Max]]) and compiled in [[Interoperable Application::QME]]
  
'''Magic numbers:''' [[Magic Numbers::]] - Unique identifying characters at the beginning of files for this engineering format.
+
'''Magic numbers:''' [[Magic Numbers::IDP2]]
  
'''Format(s):''' [[Format::]] - The MIME file types.
+
'''Format(s):''' [[Format::md2]]  
  
'''Rights:''' [[Rights::]] - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license
+
'''Rights:''' <!-- [[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.
 
'''Sustainability Factors:''' - Facts about the sustainability of this particular engineering format.
  
* '''Standardization:''' [[Standardization::]] - Information regarding standardization attempts with this format.
+
* '''Standardization:''' [[Standardization::None]], this format has been superseded by other formats, including MD3.  
  
* '''Adoption:''' [[Adoption::]] - Information about how this format has been adopted by other organizations.
+
* '''Adoption:''' <!-- [[Adoption::]] --> Format was adopted by several other games, but has since been superseded.
  
** '''Licensing and patent claims:''' [[Licensing and patent claims::]] - Any licenses or patent claims that the engineering format makes.
+
** '''Licensing and patent claims:''' <!-- [[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:''' [[Self-documentation::]] - Any self-documentation capabilities of the format.
+
* '''Self-documentation:''' [[Self-documentation::None]]  
  
* '''External dependencies:''' [[External dependencies::]] - Anything that the format depends on outside of its control to function.
+
* '''External dependencies:''' [[External dependencies::OpenGl]] is used, but that functionality can be found in other libraries.  
  
* '''Technical protection considerations:''' [[Technical protection considerations::]] - Any considerations that are necessary when it comes to technical protection.
+
* '''Technical protection considerations:''' [[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:''' [[Typical use::]] - Keywords that describe the format's typical use. Examples: CAD and CAM
+
'''Typical 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.
 
'''File classification:''' - Specific properties that pertain to this engineering format.
* '''Type {Binary, Text}:''' [[File Classification Type::]] - The type of file, choices are binary and text.
+
* '''Type {Binary, Text}:''' [[File Classification Type::Binary]]
 
* '''Raster data:''' - Section describes whether or not the engineering format supports raster data.
 
* '''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.
 
** '''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:''' [[File Classification Raster Data 2D - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Raster Data 2D - Is Supported::No]]  
*** '''Description:''' [[File Classification Raster Data 2D - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Raster Data 2D - 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.
 
** '''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:''' [[File Classification Raster Data 3D - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Raster Data 3D - Is Supported::No]]  
*** '''Description:''' [[File Classification Raster Data 3D - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Raster Data 3D - 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.
 
* '''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 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.
 
*** '''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:''' [[File Classification Implicit Surfaces - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Implicit Surfaces - Is Supported::No]]
**** '''Description:''' [[File Classification Implicit Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Implicit Surfaces - 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.
 
*** '''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:''' [[File Classification Implict Curves - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Implict Curves - Is Supported::No]]
**** '''Description:''' [[File Classification Implicit Curves - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Implicit Curves - 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.
 
*** '''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:''' [[File Classification Point Set - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Point Set - Is Supported::Yes]]
**** '''Description:''' [[File Classification Point Set - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Point Set - 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.
 
** '''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
 
*** '''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:''' [[File Classification Mainfold Surface Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Mainfold Surface Meshes - Is Supported::Yes]]
**** '''Description:''' [[File Classification Manifold Surface Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Manifold Surface Meshes - 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
 
*** '''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:''' [[File Classification Manifold Volume Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Manifold Volume Meshes - Is Supported::Yes]], but this is not the primary use of the format
**** '''Description:''' [[File Classification Manifold Volume Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Manifold Volume Meshes - 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
 
*** '''Non-manifold meshes:''' - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::Yes]]
**** '''Description:''' [[File Classification Non-manifold Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Non-manifold Meshes - Description::]] --> Non-manifold meshes can be created with the format.
 
** '''Parametric representation:''' - Section describes whether or not the engineering format supports parametric representations.
 
** '''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.
 
*** '''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:''' [[File Classification Parametric Surfaces - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Parametric Surfaces - Is Supported::No]]
**** '''Description:''' [[File Classification Parametric Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Parametric Surfaces - 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.
 
*** '''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:''' [[File Classification Parametric Curves - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' [[File Classification Parametric Curves - Is Supported::No]]
**** '''Description:''' [[File Classification Parametric Curves - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' <!-- [[File Classification Parametric Curves - Description::]] --> MD2 is a triangular surface map format.  
 
** '''Contour sets:''' - Can the format support contour sets?
 
** '''Contour sets:''' - Can the format support contour sets?
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::No]]
*** '''Description:''' [[File Classification Contour Sets - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Contour Sets - 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
 
** '''NURBS:''' - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::No]]
*** '''Description:''' [[File Classification NURBS - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification NURBS - 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.
 
* '''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:''' [[File Classification Multi-resolution Models - Is Supported::]] - Is the feature supported in the engineering format?
+
** '''Is Supported:''' [[File Classification Multi-resolution Models - Is Supported::Somewhat]]
** '''Description:''' [[File Classification Multi-resolution Models - Description::]] - This field is used to describe the support or lack of support of the feature.
+
** '''Description:''' <!-- [[File Classification Multi-resolution Models - 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.
 
* '''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?
 
** '''Kinematics:''' - Can the format support kinematics? Example: Does the format allow model parts to rotate?
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::Yes]]
*** '''Description:''' [[File Classification Kinematics - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Kinematics - 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?
 
** '''Assembly:''' - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::Limited]] Only for assembling skin data on top of the mesh data. 
*** '''Description:''' [[File Classification Assembly - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Assembly - 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?
 
** '''Force(s):''' - Can the format support forces? Example: Does the format support acceleration forces?
*** '''Is Supported:''' [[File Classification Force - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Force - Is Supported::No]]
*** '''Description:''' [[File Classification Force - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Force - Description::]] --> Primarily used for animation, force data is not implicit in the format.
 
* '''Boundary representation''' - Can the format support models with boundary representations?
 
* '''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
 
** '''Manifold surface boundary representations:''' - Can the format support manifold surface boundary representations? Example: The engineering format STEP
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::No]]
*** '''Description:''' [[File Classification Manifold Surface Boundary Representation - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Manifold Surface Boundary Representation - 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
 
** '''Manifold volume boundary representations:''' - Can the format support manifold volume boundary representations? Example: The engineering format STEP
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::No]]
*** '''Description:''' [[File Classification Manifold Volume Boundary Representation - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Manifold Volume Boundary Representation - 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
 
** '''Non-manifold boundary representations:''' - Can the format support non-manifold boundary representations? Example: The engineering format STEP
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::No]]
*** '''Description:''' [[File Classification Non-manifold Boundary Representation - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' <!-- [[File Classification Non-manifold Boundary Representation - 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?
 
* '''Material transparency:''' - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::]] - Is the feature supported in the engineering format?
+
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::Yes]]
** '''Description:''' [[File Classification Material Transparency - Description::]] - This field is used to describe the support or lack of support of the feature.
+
** '''Description:''' <!-- [[File Classification Material Transparency - Description::]] --> Because the format allows for any skin data to ride atop the mesh data, transparency would be possible.
  
'''References:''' [[References::]] - A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.
+
'''References:''' <!-- [[References::]] --> A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.<br/>
 +
http://games-softwares.com/?p=23<br/>
 +
http://tfc.duke.free.fr/coding/md2-specs-en.html<br/>
 +
http://icculus.org/~phaethon/q3a/formats/md2-schoenblum.html<br/>
 +
http://gpwiki.org/index.php/MD2<br/>
 +
http://en.wikipedia.org/wiki/.md2

Latest revision as of 01:37, 13 May 2009

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

Personal tools