Difference between revisions of "X"

From GICL Wiki
Jump to: navigation, search
Line 24: Line 24:
 
'''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.
 
'''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]]
+
'''Example(s):'''  
  
 
Drawing a triangle in Direct3D:
 
Drawing a triangle in Direct3D:
Line 83: Line 83:
 
**** '''Is Supported:''' Yes
 
**** '''Is Supported:''' Yes
 
**** '''Description:'''  
 
**** '''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

Revision as of 16: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,...

Magic numbers: - Unique identifying characters at the beginning of files for this engineering format.

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: