Difference between revisions of "X"

From GICL Wiki
Jump to: navigation, search
 
(4 intermediate revisions by one user not shown)
Line 18: Line 18:
 
* '''Syntax Format(s):''' -Binary Encoding, Text Encoding, Templates
 
* '''Syntax Format(s):''' -Binary Encoding, Text Encoding, Templates
  
* '''Family Format(s):''' [[Family Format::]] - None
+
* '''Family Format(s):''' - .x
  
'''Description:''' [[Description::]] - Main description of the format, which can give extra information not categorized.
+
'''Description:''' - X files provide a template-driven format that enables the storage of meshes, textures, animations, and user-definable objects. Support for animation sets enables you to store predefined paths for playback in real time. Instancing and hierarchies are also supported. Instancing enables multiple references to an object, such as a mesh, while storing its data only once per file. Hierarchies are used to express relationships between data records.
  
'''History:''' [[History::]] - Historical description depicting major events surrounding development, creation, and maintenance of this format.
+
'''History:''' - In 1992, Servan Keondjian started a company named RenderMorphics, which developed a 3D graphics API named Reality Lab, which was used in medical imaging and CAD software. Two versions of this API were released. Microsoft bought RenderMorphics in February 1995, bringing Keondjian on board to implement a 3D graphics engine for Windows 95. This resulted in the first version of Direct3D that shipped in DirectX 2.0 and DirectX 3.0.
  
'''Example(s):''' [[Example::Example Template]] - Information and example models of the engineering format.
+
'''Example(s):'''  
  
'''Identifier:''' [[Identifier::]] - A URL or other identifier that refers to the engineering format.
+
Drawing a triangle in Direct3D:
 +
// A 3-vertex polygon definition
 +
D3DLVERTEX v[3];
 +
// Vertex established
 +
v[0]=D3DLVERTEX( D3DVECTOR(0.f, 5.f, 10.f), 0x00FF0000, 0, 0, 0 );
 +
// Vertex established
 +
v[1]=D3DLVERTEX( D3DVECTOR(0.f, 5.f, 10.f), 0x0000FF00, 0, 0, 0 );
 +
// Vertex established
 +
v[2]=D3DLVERTEX( D3DVECTOR(0.f, 5.f, 10.f), 0x000000FF, 0, 0, 0 );
 +
// Function call to draw the triangle
 +
pDevice->DrawPrimitive( D3DPT_TRIANGLELIST, D3DFVF_LVERTEX, v, 3, 0 );
  
'''Documentation:''' [[Documentation::Documentation Template]] - Information in general about the engineering format.
+
'''Identifier:''' http://software.intel.com/en-us/articles/ocean-fog-using-direct3d-10/
  
'''File Extensions:''' [[File Extension::]] - Extensions of the engineering format, excluding the dot.
+
'''Documentation:''' http://www.gamedev.net/reference/programming/features/d3do/page6.asp
  
'''Applications:''' - Applications that the engineering format uses.
+
'''File Extensions:''' - .x
  
* '''Native application(s):''' [[Native Application::Engineering Format Application Template]] - Applications which are primarily designed to specifically run this engineering format.
+
'''Applications:''' - Windows versions such as vista, 98,...
 +
* '''Native application(s):''' [[Native Application::Engineering Format Application Template]] - Graphic games
  
* '''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:'''  
  
'''Magic numbers:''' [[Magic Numbers::]] - Unique identifying characters at the beginning of files for this engineering format.
+
'''Magic numbers:'''  
  
'''Format(s):''' [[Format::]] - The MIME file types.
+
'''Format(s):''' [[Format::]] - .x
  
'''Rights:''' [[Rights::]] - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license
+
'''Rights:''' Proprietary License
  
 
'''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:''' Used widely in game developing
  
* '''Adoption:''' [[Adoption::]] - Information about how this format has been adopted by other organizations.
+
* '''Adoption:''' None
  
** '''Licensing and patent claims:''' [[Licensing and patent claims::]] - Any licenses or patent claims that the engineering format makes.
+
** '''Licensing and patent claims:''' None
  
* '''Self-documentation:''' [[Self-documentation::]] - Any self-documentation capabilities of the format.
+
* '''Self-documentation:''' None
  
* '''External dependencies:''' [[External dependencies::]] - Anything that the format depends on outside of its control to function.
+
* '''External dependencies:''' None
 
+
* '''Technical protection considerations:''' None
* '''Technical protection considerations:''' [[Technical protection considerations::]] - Any considerations that are necessary when it comes to technical protection.
+
'''Typical use:''' CAD, Modeling, Rendering, Texturing, Animation
 
+
'''Typical use:''' [[Typical use::]] - Keywords that describe the format's typical use. Examples: CAD and CAM
+
  
 
'''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}:''' 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:'''  
*** '''Is Supported:''' [[File Classification Raster Data 2D - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' - Yes
*** '''Description:''' [[File Classification Raster Data 2D - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' It support raster base on its rules. Rasterization rules define how vector data is mapped into 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.
+
** '''Raster data 3D:'''  
*** '''Is Supported:''' [[File Classification Raster Data 3D - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' Yes
*** '''Description:''' [[File Classification Raster Data 3D - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' It support raster base on its rules. Rasterization rules define how vector data is mapped into raster data.
* '''Geometric representation:''' - Section describes whether or not the engineering format supports geometric representations.
+
* '''Geometric representation:'''  
** '''Implicit representation:''' - Section describes whether or not the engineering format supports implicit representations.
+
** '''Implicit representation:'''  
*** '''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:'''
**** '''Is Supported:''' [[File Classification Implicit Surfaces - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' Yes
**** '''Description:''' [[File Classification Implicit Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:'''  
*** '''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:'''  
**** '''Is Supported:''' [[File Classification Implict Curves - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''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:''' N/A
*** '''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:'''  
**** '''Is Supported:''' [[File Classification Point Set - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''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:''' Support for point sprites in Direct3D 9 enables the high-performance rendering of points (particle systems). Point sprites are generalizations of generic points that enable arbitrary shapes to be rendered as defined by textures.
** '''Mesh:''' - Section describes whether or not the engineering format supports mesh.
+
** '''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:'''  
**** '''Is Supported:''' [[File Classification Mainfold Surface Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''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:''' None
*** '''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:'''
**** '''Is Supported:''' [[File Classification Manifold Volume Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' No
**** '''Description:''' [[File Classification Manifold Volume Meshes - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' None
*** '''Non-manifold meshes:''' - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
+
*** '''Non-manifold meshes:'''  
**** '''Is Supported:''' [[File Classification Non-manifold Meshes - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''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:''' None
** '''Parametric representation:''' - Section describes whether or not the engineering format supports parametric representations.
+
** '''Parametric representation:'''  
*** '''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:'''  
**** '''Is Supported:''' [[File Classification Parametric Surfaces - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' Yes
**** '''Description:''' [[File Classification Parametric Surfaces - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:''' N/A
*** '''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:'''  
**** '''Is Supported:''' [[File Classification Parametric Curves - Is Supported::]] - Is the feature supported in the engineering format?
+
**** '''Is Supported:''' Yes
**** '''Description:''' [[File Classification Parametric Curves - Description::]] - This field is used to describe the support or lack of support of the feature.
+
**** '''Description:'''  
** '''Contour sets:''' - Can the format support contour sets?
+
** '''Contour sets:'''  
*** '''Is Supported:''' [[File Classification Contour Sets - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''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:''' None
** '''NURBS:''' - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
+
** '''NURBS:'''  
*** '''Is Supported:''' [[File Classification NURBS - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' No
*** '''Description:''' [[File Classification NURBS - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' None
* '''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:'''  
** '''Is Supported:''' [[File Classification Multi-resolution Models - Is Supported::]] - Is the feature supported in the engineering format?
+
** '''Is Supported:''' Yes
** '''Description:''' [[File Classification Multi-resolution Models - Description::]] - This field is used to describe the support or lack of support of the feature.
+
** '''Description:''' It support multi-resolution models and allow developer to specify resolutions as desired
* '''Dynamics:''' - Section describes whether or not the engineering format supports dynamics.
+
* '''Dynamics:'''  
** '''Kinematics:''' - Can the format support kinematics? Example: Does the format allow model parts to rotate?
+
** '''Kinematics:'''  
*** '''Is Supported:''' [[File Classification Kinematics - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' Yes
*** '''Description:''' [[File Classification Kinematics - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' Developers can specify rotate degrees
** '''Assembly:''' - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
+
** '''Assembly:'''  
*** '''Is Supported:''' [[File Classification Assembly - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' No
*** '''Description:''' [[File Classification Assembly - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' None
** '''Force(s):''' - Can the format support forces? Example: Does the format support acceleration forces?
+
** '''Force(s):'''  
*** '''Is Supported:''' [[File Classification Force - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''Is Supported:''' No
*** '''Description:''' [[File Classification Force - Description::]] - This field is used to describe the support or lack of support of the feature.
+
*** '''Description:''' None
* '''Boundary representation''' - Can the format support models with boundary representations?
+
* '''Boundary representation'''  
** '''Manifold surface boundary representations:''' - Can the format support manifold surface boundary representations? Example: The engineering format STEP
+
** '''Manifold surface boundary representations:'''
*** '''Is Supported:''' [[File Classification Manifold Surface Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''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:''' None
** '''Manifold volume boundary representations:''' - Can the format support manifold volume boundary representations? Example: The engineering format STEP
+
** '''Manifold volume boundary representations:'''  
*** '''Is Supported:''' [[File Classification Manifold Volume Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''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:''' None
** '''Non-manifold boundary representations:''' - Can the format support non-manifold boundary representations? Example: The engineering format STEP
+
** '''Non-manifold boundary representations:'''  
*** '''Is Supported:''' [[File Classification Non-manifold Boundary Representation - Is Supported::]] - Is the feature supported in the engineering format?
+
*** '''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:''' None
* '''Material transparency:''' - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
+
* '''Material transparency:'''  
** '''Is Supported:''' [[File Classification Material Transparency - Is Supported::]] - Is the feature supported in the engineering format?
+
** '''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:''' is one of the very important features of Direct3D, which uses the hardware support, if available. In case a hardware platform does not support a certain feature, Direct3D provides an equivalent implementation in software. This choice of using the hardware features if available, is transparent to the user. The application, at runtime can detect the hardware capabilities and use them if present
  
'''References:''' [[References::]] - A list of references regarding any aspects of this engineering format; any reading material supplemental to this page.
+
'''References:'''  
 +
*http://www.gamedev.net/reference/articles/article1020.asp
 +
*http://en.wikipedia.org/wiki/Comparison_of_OpenGL_and_Direct3D
 +
*http://en.wikipedia.org/wiki/Direct3D
 +
*http://www.inframez.com/papers/realtime_teatime.htm

Latest revision as of 15:08, 22 May 2009

Title(s): -Direct3D model with .x files

Version ID: - Version 11

Date released: - July 2008

Date: - September 1995

Creator(s): Servan Keondjian

Contributor(s): - Microsoft, RenderMorphics Relationships: - In February 1995, Microsoft bought RenderMorphics and brought its CEO Keondjian on board to implement a 3D graphics engine for Windows 95. This resulted in the first version of Direct3D.

  • Previous Version(s): - Reality Lab
  • Contains: - .X files
  • Syntax Format(s): -Binary Encoding, Text Encoding, Templates
  • Family Format(s): - .x

Description: - X files provide a template-driven format that enables the storage of meshes, textures, animations, and user-definable objects. Support for animation sets enables you to store predefined paths for playback in real time. Instancing and hierarchies are also supported. Instancing enables multiple references to an object, such as a mesh, while storing its data only once per file. Hierarchies are used to express relationships between data records.

History: - In 1992, Servan Keondjian started a company named RenderMorphics, which developed a 3D graphics API named Reality Lab, which was used in medical imaging and CAD software. Two versions of this API were released. Microsoft bought RenderMorphics in February 1995, bringing Keondjian on board to implement a 3D graphics engine for Windows 95. This resulted in the first version of Direct3D that shipped in DirectX 2.0 and DirectX 3.0.

Example(s):

Drawing a triangle in Direct3D:

// A 3-vertex polygon definition
D3DLVERTEX v[3];
// Vertex established
v[0]=D3DLVERTEX( D3DVECTOR(0.f, 5.f, 10.f), 0x00FF0000, 0, 0, 0 );
// Vertex established
v[1]=D3DLVERTEX( D3DVECTOR(0.f, 5.f, 10.f), 0x0000FF00, 0, 0, 0 );
// Vertex established
v[2]=D3DLVERTEX( D3DVECTOR(0.f, 5.f, 10.f), 0x000000FF, 0, 0, 0 );
// Function call to draw the triangle
pDevice->DrawPrimitive( D3DPT_TRIANGLELIST, D3DFVF_LVERTEX, v, 3, 0 );

Identifier: http://software.intel.com/en-us/articles/ocean-fog-using-direct3d-10/

Documentation: http://www.gamedev.net/reference/programming/features/d3do/page6.asp

File Extensions: - .x

Applications: - Windows versions such as vista, 98,...

  • Interoperable applications:

Magic numbers:

Format(s): - .x

Rights: Proprietary License

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

  • Standardization: Used widely in game developing
  • Adoption: None
    • Licensing and patent claims: None
  • Self-documentation: None
  • External dependencies: None
  • Technical protection considerations: None

Typical use: CAD, Modeling, Rendering, Texturing, Animation

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:
      • Is Supported: - Yes
      • Description: It support raster base on its rules. Rasterization rules define how vector data is mapped into raster data.
    • Raster data 3D:
      • Is Supported: Yes
      • Description: It support raster base on its rules. Rasterization rules define how vector data is mapped into raster data.
  • Geometric representation:
    • Implicit representation:
      • Implicit surfaces:
        • Is Supported: Yes
        • Description:
      • Implicit curves:
        • Is Supported: No
        • Description: N/A
      • Point set:
        • Is Supported: Yes
        • Description: Support for point sprites in Direct3D 9 enables the high-performance rendering of points (particle systems). Point sprites are generalizations of generic points that enable arbitrary shapes to be rendered as defined by textures.
    • Mesh:
      • Manifold surface meshes:
        • Is Supported: Yes
        • Description: None
      • Manifold volume meshes:
        • Is Supported: No
        • Description: None
      • Non-manifold meshes:
        • Is Supported: Yes
        • Description: None
    • Parametric representation:
      • Parametric surfaces:
        • Is Supported: Yes
        • Description: N/A
      • Parametric curves:
        • Is Supported: Yes
        • Description:
    • Contour sets:
      • Is Supported: No
      • Description: None
    • NURBS:
      • Is Supported: No
      • Description: None
  • Multi-resolution models:
    • Is Supported: Yes
    • Description: It support multi-resolution models and allow developer to specify resolutions as desired
  • Dynamics:
    • Kinematics:
      • Is Supported: Yes
      • Description: Developers can specify rotate degrees
    • Assembly:
      • Is Supported: No
      • Description: None
    • Force(s):
      • Is Supported: No
      • Description: None
  • Boundary representation
    • Manifold surface boundary representations:
      • Is Supported: No
      • Description: None
    • Manifold volume boundary representations:
      • Is Supported: No
      • Description: None
    • Non-manifold boundary representations:
      • Is Supported: No
      • Description: None
  • Material transparency:
    • Is Supported: Yes
    • Description: is one of the very important features of Direct3D, which uses the hardware support, if available. In case a hardware platform does not support a certain feature, Direct3D provides an equivalent implementation in software. This choice of using the hardware features if available, is transparent to the user. The application, at runtime can detect the hardware capabilities and use them if present

References: