FACTOID # 6: Michigan is ranked 22nd in land area, but since 41.27% of the state is composed of water, it jumps to 11th place in total area.
 
 Home   Encyclopedia   Statistics   States A-Z   Flags   Maps   FAQ   About 
   
 
WHAT'S NEW
RELATED ARTICLES
People who viewed "Direct3D" also viewed:
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Direct3D

Direct3D is part of Microsoft's DirectX API. Direct3D is only available for Microsoft's various Windows operating systems (Windows 95 and above) and is the base for the graphics API on the Xbox and Xbox 360 console systems. Direct3D is used to render three dimensional graphics in applications where performance is important, such as games. Direct3D also allows applications to run fullscreen instead of embedded in a window, though they can still run in a window if programmed for that feature. Direct3D uses hardware acceleration if it is available on the graphic board. The entire or part of the 3D rendering pipeline can be accelerated in hardware. Direct3D exposes the advanced graphics capabilities of 3D graphics hardware, including z-buffering, anti-aliasing, alpha blending, mipmapping, atmospheric effects, and perspective-correct texture mapping. Integration with other DirectX technologies enables Direct3D to deliver such features as video mapping, hardware 3D rendering in 2D overlay planes, and even sprites, providing the use of 2D and 3D graphics in interactive media titles. Microsoft Corporation, (NASDAQ: MSFT, HKSE: 4338) is a multinational computer technology corporation with global annual revenue of US$44. ... Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. ... The software that provides the functionality described by an API is said to be an implementation of the API. The API itself is abstract, in that it specifies an interface and does not get involved with implementation details. ... Windows redirects here. ... In computing, an operating system (OS) is the system software responsible for the direct control and management of hardware and basic system operations. ... Windows 95 is a consumer-oriented graphical user interface-based operating system. ... The Xbox is a sixth generation era video game console produced by Microsoft Corporation. ... It has been suggested that Xbox 360 Elite be merged into this article or section. ... 3D computer graphics are different from 2D computer graphics in that a three-dimensional representation of geometric data is stored in the computer for the purposes of performing calculations and rendering 2D images. ... In computing, hardware acceleration is the use of hardware to perform some function faster than is possible in software running on the normal (general purpose) CPU. Examples of hardware acceleration include blitting acceleration functionality in graphics processing units (GPUs) and instructions for complex operations in CPUs. ... Z-buffer data In computer graphics, z-buffering is the management of image depth coordinates in three-dimensional (3-D) graphics, usually done in hardware, sometimes in software. ... In digital signal processing, anti-aliasing is the technique of minimizing the distortion artifacts known as aliasing when representing a high-resolution signal at a lower resolution. ... In computer graphics, alpha compositing is often useful to render image elements in separate passes, and then combine the resulting multiple 2D images into a single, final image in a process called compositing. ... In 3D computer graphics texture mapping, MIP maps (also mipmaps) are pre-calculated, optimized collections of bitmap images that accompany a main texture, intended to increase rendering speed and reduce artifacts. ... Spherical texture mapping Texture mapping is a method, pioneered by Edwin Catmull, of adding detail, surface texture, or colour to a computer-generated graphic or 3D model. ... Video overlay is any technique used to display a video window on a computer display while bypassing the chain of CPU -> graphics card -> computer monitor. ... In computer graphics, a sprite (also known by other names; see Synonyms below) is a two-dimensional image or animation that is integrated into a larger scene. ...


Direct3D is a 3D API. That is, it contains many commands for 3D rendering, however since version 8 Direct3D has superseded the old DirectDraw framework and also taken responsibility for the rendering of 2D graphics.[1] Microsoft strives to continually update Direct3D to support the latest technology available on 3D graphics cards. Direct3D offers full vertex software emulation but no pixel software emulation for features not available in hardware. For example, if software programmed using Direct3D requires pixel shaders and the video card on the user's computer does not support that feature, Direct3D will not emulate it. The API does define a Reference Rasterizer (or REF device), which emulates a generic graphics card, although it's too slow to be used in any application to emulate pixel shaders and is usually ignored. 3D computer graphics are different from 2D computer graphics in that a three-dimensional representation of geometric data is stored in the computer for the purposes of performing calculations and rendering 2D images. ... DirectDraw is part of Microsofts DirectX API. DirectDraw is used to render graphics in applications where top performance is important. ... 2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models (such as 2D geometric models, text, and digital images) and by techniques specific to them. ... Shaders are a set of different technologies. ... A video card, (also referred to as a graphics accelerator card, display adapter, graphics card, and numerous other terms), is an item of personal computer hardware whose function is to generate and output images to a display. ... This article is about emulation in computer science. ... This article does not cite any references or sources. ... Vertex and pixel (or fragment) shaders are computer programs that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ...


Direct3D's main competitor is OpenGL. There are numerous features and issues that proponents for either API disagree over, see comparison of Direct3D and OpenGL for a summary. OpenGL (Open Graphics Library) is a standard specification defining a cross-language cross-platform API for writing applications that produce 2D and 3D computer graphics. ... This article or section does not cite its references or sources. ...

Contents

Architecture

Abstract Layer
Abstract Layer

Direct3D is Microsoft DirectX API subsystem component. The aim of Direct3D is to abstract the communication between a graphics application and the graphics hardware drivers. It is presented like a thin abstract layer at a level comparable to GDI (see attached diagram). With a COM based architecture, the main difference between GDI and Direct3D is that Direct3D is directly connected to display drivers and gets better results at rendering than GDI. Image File history File links No higher resolution available. ... Image File history File links No higher resolution available. ... Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. ... GDI is short for Graphics Device Interface or Graphical Device Interface, and is one of the three core components or subsystems of Microsoft Windows. ... Component Object Model (COM) is a platform for software componentry introduced by Microsoft in 1993. ...


Direct3D is an Immediate mode graphics API. It provides a low-level interface to every video card 3D function (transformations, clipping, lighting, materials, textures, depth buffering and so on). It also had an higher level Retained mode component, that has now been discontinued. Transform, clipping, and lighting (TCL) is a term used in computer graphics, generally used in the context of hardware acceleration. ... Z-buffer data In computer graphics, z-buffering is the management of image depth coordinates in three-dimensional (3-D) graphics, usually done in hardware, sometimes in software. ...


Direct3D immediate mode presents three main abstractions: devices, resources and swap chains (see attached diagram). Devices are responsible for rendering the 3D scene. They provide an interface with different options of renderization. For example, mono device provides white and black renderization and the RGB device uses colours to render. There are four types of devices: A photograph of a sign in grayscale The same photograph in black and white Monochrome comes from the two Greek words mono (μωνο, meaning one), and chroma (χρωμα, meaning surface or the color of the skin). A monochromatic object has a single color. ... A representation of additive color mixing—In CRT based (analog electronics) television three color electron guns are used to stimulate such an arrangement of phosphorescent coatings of the glass, the resultant reemission of photons providing the image seen by the eye. ...

  • HAL (hardware abstract layer) device: if it supports hardware acceleration, the Direct3D code can run at hardware speeds.
Device
Device
  • Reference device: it is necessary to install previously the Direct3D SDK to use this device type, as this allows it to simulate those new features that aren’t yet supported by the graphics hardware.
  • Null reference device: it does nothing but returns a black screen. This device is used when the SDK is not installed and a reference device is requested.
  • Pluggable software device: it is used to perform software rasterization. Previously, it was needed to provide the device through the RegisterSoftwareDevice method. This device type was not used until DirectX 9.0.[2]

Every device contains at least one swap chain. A swap chain is made up of one or more back buffer surfaces (rectangular collection of pixel data and its attribures such as colour, depth/stencil, alpha or texture). In the back buffer is where the render will occur. Image File history File links No higher resolution available. ... Image File history File links No higher resolution available. ... A Software Development Kit, or SDK for short, is typically a set of development tools that allows a software engineer to create applications for a certain software package, software framework, hardware platform, computer system, operating system or similar. ... In computing, a buffer is a region of memory used to temporarily hold output or input data, comparable to buffers in telecommunication. ... This example shows an image with a portion greatly enlarged, in which the individual pixels are rendered as little squares and can easily be seen. ... In computer graphics, double buffering (sometimes called ping-pong buffering) is a technique used to reduce or remove visible artifacts from the drawing process. ...


Moreover, devices contain a collection of resources too. Resources are specific data used during rendering. Each resource has four attributes:

  • Type: it describes what kind of resource is: surface, volume, texture, cube texture, volume texture, surface texture, index buffer or vertex buffer.
  • Pool:[3] it describes how the resource is managed by the runtime and where it is stored. Default pool means that the resource will exist only in device memory; managed pool means that the resource will be stored in system memory and will be sent to the device when required; system memory pool means that the resource will only exist in system memory, and scratch pool means the same as system memory pool, but, in this case, resources are not bound by hardware restrictions.
  • Format: it describes the layout of the resource’s data in memory, mainly pixel data. For example, D3DFMT_R8G8B8 format value means a 24 bits colour depth (8 bits for red, 8 bits for green and 8 bits for blue).
  • Usage: it describes, with a collection of flag bits, how the resource will be used by the application. These flags are used to know which resources are used in dynamic or in static access pattern. Static resource values don’t change after being loaded, whereas dynamic resource values are repeatedly modified.

Color depth is a computer graphics term describing the number of bits used to represent the color of a single pixel in a bitmapped image or video frame buffer. ... In computer programming, flag refers to one or more bits that are used to store a binary value or code that has an assigned meaning. ...

Pipeline

Graphics pipeline proccess
Graphics pipeline proccess

The different stages of the Direct3D 10 pipeline[4] are:[5] Image File history File links Size of this preview: 395 × 599 pixelsFull resolution (512 × 777 pixel, file size: 38 KB, MIME type: image/png) File history Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version. ... Image File history File links Size of this preview: 395 × 599 pixelsFull resolution (512 × 777 pixel, file size: 38 KB, MIME type: image/png) File history Legend: (cur) = this is the current file, (del) = delete this old version, (rev) = revert to this old version. ...

  1. Input Assembler: Supplies the data to the pipeline.
  2. Vertex shader: Performs single vertex operations such as transformations, skinning or lighting.
  3. Geometry shader: Processes entire primitives (triangles, lines or vertex) and, sometimes, their edge-adjacent primitives. Given a primitive, this stage discards it, or generates one or more new primitives.
  4. Stream Output: Stores on memory previous stage results. It is useful to recirculate data back into the pipeline.
  5. Rasterizer: Rasterizes primitives into pixels, clipping what is not visible.
  6. Pixel shader: Pixel operations such as colour.
  7. Output Merger: Merges various types of output data (pixel shader values, depth/stencil...) to build the final result.

It is possible to configure all the pipeline stages, making it very flexible and adaptable.
Vertex and pixel (or fragment) shaders are shaders that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... Geometry shader (abbreviation GS) is a shader program, normally excecuted on the Graphics processing unit. ... Vertex and pixel (or fragment) shaders are computer programs that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... Shaders are a set of different technologies. ...


Example

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 ); 

Display modes

Direct3D implements two display modes:

  • Fullscreen mode: The Direct3D application generates all of the graphical output for a display device. This mode also enables double buffering of the display, eliminating artifacts such as tearing.
  • Windowed mode: The result is shown inside the area of a window. Direct3D communicates with GDI to generate the graphical output in the display.

Page tearing is a phenomenon in computer and video games where a previously rendered frame overlaps a newly rendered frame, creating a torn look as two parts of an object - a wall, for example - dont line up. ... GDI is short for Graphics Device Interface or Graphical Device Interface, and is one of the three core components or subsystems of Microsoft Windows. ...

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. In 1993, Servan Keondjian co-founded RenderMorphics, a company specialising in cutting-edge 3D graphics technologies. ... RenderMorphics created the 3D renderer Reality Lab. ... Reality Lab was the 3D API created the RenderMorphics. ... Windows 95 is a consumer-oriented graphical user interface-based operating system. ...


Direct3D initially implemented "retained mode" and "immediate mode" 3D APIs. The retained mode was a COM-based scene graph API that attained little adoption. Game developers clamored for more direct control of the hardware's activities than the Direct3D retained mode could provide. Only one game that sold a significant volume, Lego Island, was based on the Direct3D retained mode, so Microsoft did not update the retained mode after DirectX 3.0. Component Object Model (COM) is a platform for software componentry introduced by Microsoft in 1993. ... A scene-graph is a general data structure commonly used by vector-based graphics editing applications and modern computer games. ... Screenshots of LEGO Island LEGO Island is an adventure computer game, the first in the LEGO series. ...


The first version of Direct3D immediate mode was based on an "execute buffer" programming model that Microsoft hoped hardware vendors would support directly. Execute buffers were intended to be allocated in hardware memory and parsed by the hardware in order to perform the 3D rendering. They were extremely awkward to program, however, hindering adoption of the new API and stimulating calls for Microsoft to adopt OpenGL as the official 3D rendering API for games as well as workstation applications. (see OpenGL vs. Direct3D) This article or section does not cite its references or sources. ...


Rather than adopt OpenGL as a gaming API, Microsoft chose to continue improving Direct3D, not only to be competitive with OpenGL, but to compete more effectively with proprietary APIs such as 3dfx's Glide. A team in Redmond took over development of the Direct3D Immediate mode, while Servan's RenderMorphics team continued work on the Retained mode. 3dfx Interactive was a company which specialized in the manufacturing of cutting-edge 3D graphics processing units and, later, graphics cards. ... Glide was a proprietary 3D graphics API developed by 3dfx used on their Voodoo graphics cards. ...


Direct3D 5.0 introduced the DrawPrimitive API that eliminated the need for applications to construct execute buffers.


Direct3D 6.0 introduced numerous features to cover contemporary hardware (such as multitexture [6] and stencil buffers) as well as optimized geometry pipelines for x87, SSE and 3DNow! and optional texture management to simplify programming. Direct3D 6.0 also included support for features that had been licensed by Microsoft from specific hardware vendors for inclusion in the API, in exchange for the time-to-market advantage to the licensing vendor. S3 texture compression support was one such feature, renamed as DXTC for purposes of inclusion in the API. Another was TriTech's proprietary bump mapping technique. By including these features in DirectX, Microsoft virtually guaranteed that all PC graphics hardware vendors would support the feature at their earliest opportunity, driving industry standardization in a way that was inconceivable under the auspices of the OpenGL Architectural Review Board. Spherical texture mapping Texture mapping is a method, pioneered by Edwin Catmull, of adding detail, surface texture, or colour to a computer-generated graphic or 3D model. ... Stencil buffer is an extra buffer in addition to the color buffer and depth buffer found in OpenGL and Direct3D. The buffer is per pixel, and works on integer values. ... Geometry Pipelines, also called Geometry Engines(GE) are the first stage in a classical Graphics Pipeline, such as the Reality Engine. ... Referrs to math-related instruction subset of Intel X86 family line of processors. ... SSE (Streaming SIMD Extensions, originally called ISSE, Internet Streaming SIMD Extensions) is a SIMD (Single Instruction, Multiple Data) instruction set designed by Intel and introduced in 1999 in their Pentium III series processors as a reply to AMDs 3DNow! (which had debuted a year earlier). ... The first 3DNow! CPU 3DNow! is the name of a multimedia extension created by AMD for its processors, starting with the K6-2 in 1998. ... S3 Texture Compression (S3TC) (sometimes also called DXTn or DXTC) is a group of related image compression algorithms originally developed by S3 Graphics, Ltd. ... A sphere without bump mapping. ...


Direct3D 7.0 introduced the .dds texture format[7] and support for transform and lighting hardware acceleration (first available on PC hardware with NVIDIA's GeForce), as well as the ability to allocate vertex buffers in hardware memory. Hardware vertex buffers represent the first substantive improvement over OpenGL in DirectX history. Direct3D 7.0 also augmented DirectX support for multitexturing hardware, and represents the pinnacle of fixed-function multitexture pipeline features: although powerful, it was so complicated to program that a new programming model was needed to expose the shading capabilities of graphics hardware. The Microsoft DirectDraw Surface (.dds) file format is used to store textures and cubic environment maps, both with and without mipmap levels. ... Transform and Lighting is a computing term used in computer graphics, generally used in the context of hardware acceleration (Hardware T&L). Transform refers to the task of converting coordinates in space, which in this case involves moving 3D objects in a virtual world and converting 3D coordinates to a... In computing, hardware acceleration is the use of hardware to perform some function faster than is possible in software running on the normal (general purpose) CPU. Examples of hardware acceleration include blitting acceleration functionality in graphics processing units (GPUs) and instructions for complex operations in CPUs. ... The GeForce 256 (codenamed NV10), often known simply as the GeForce, was the first of NVIDIAs GeForce product-line. ...


Direct3D 8.0 introduced programmability in the form of vertex and pixel shaders, enabling developers to write code without worrying about superfluous hardware state. The complexity of the shader programs depended on the complexity of the task, and the display driver compiled those shaders to instructions that could be understood by the hardware. Direct3D 8.0 and its programmable shading capabilities were the first major departure from an OpenGL-style fixed-function architecture, where drawing is controlled by a complicated state machine. Direct3D 8.0 also eliminated DirectDraw as a separate API.[8] Direct3D subsumed all remaining DirectDraw API calls still needed for application development, such as Present(), the function used to display rendering results. Shaders are a set of different technologies. ... Windows XP loading drivers during a Safe Mode bootup A device driver, or a software driver is a specific type of computer software, typically developed to allow interaction with hardware devices. ... A compiler is a computer program that translates a computer program written in one computer language (called the source language) into an equivalent program written in another computer language (called the output or the target language). ... DirectDraw is part of Microsofts DirectX API. DirectDraw is used to render graphics in applications where top performance is important. ...


Direct3D was not considered to be user friendly, but as of DirectX version 8.1, many usability problems were resolved. Direct3D 8 contained many powerful 3D graphics features, such as vertex shaders, pixel shaders, fog, bump mapping and texture mapping. Vertex and pixel (or fragment) shaders are computer programs that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... Vertex and pixel (or fragment) shaders are computer programs that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... Distance fog is a technique used in 3D computer graphics to enhance the perception of distance. ... A sphere without bump mapping. ... Spherical texture mapping Texture mapping is a method, pioneered by Edwin Catmull, of adding detail, surface texture, or colour to a computer-generated graphic or 3D model. ...


Direct3D 9.0 added a new version of the High Level Shader Language,[9] support for high dynamic range lighting, multiple render targets, and vertex buffer indexing. An extension only available in Windows Vista, called Direct3D 9Ex (previously version 9.0L), allows the use of the advantages offered by Windows Vista's Windows Display Driver Model and is used for Windows Aero.[10] The High Level Shader Language (HLSL) is a shader language developed by Microsoft for use with DirectX, and is very similar to Cg. ... High dynamic range rendering (HDRR or HDR Rendering), also known as high dynamic range lighting, is the rendering of 3D computer graphics scenes by using lighting calculations done in a larger dynamic range. ... Windows Display Driver Model (WDDM) is the new graphic driver model for video cards running under Windows Vista. ... Windows Aero is the graphical user interface for Windows Vista, an operating system released by Microsoft in November 2006. ...


Direct3D 10.0, included with Windows Vista, is described in the next section. The DirextX 10 SDK is available since February 2007.[11] Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ...


Direct3D 10

Windows Vista includes a major update to the Direct3D API. Originally called WGF 2.0 (Windows Graphics Foundation 2.0), then DirectX 10 and DirectX Next, Direct3D 10 features an updated shader model, shader model 4.0. In this model shaders still consist of fixed stages as on previous versions, but all stages sport a nearly unified interface, as well as a unified access paradigm for resources such as textures and shader constants. The language itself has been extended to be more expressive, including integer operations, a greatly increased instruction count, and more C-like language constructs. In addition to the previously available vertex and pixel shader stages, the API includes a geometry shader stage that breaks the old model of one vertex in/one vertex out, to allow geometry to actually be generated from within a shader, allowing for complex geometry to be generated entirely on the graphics hardware. Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ... A shader is a program used in 3D computer graphics to determine the final surface properties of an object or image. ... Vertex and pixel (or fragment) shaders are shaders that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... Vertex and pixel (or fragment) shaders are computer programs that run on a graphics card, executed once for every vertex or pixel in a specified 3D mesh. ... Geometry shader (abbreviation GS) is a shader program, normally excecuted on the Graphics processing unit. ...


Unlike prior versions of the API, Direct3D 10 no longer uses "capability bits" (or "caps") to indicate which features are supported on a given graphics device. Instead, it defines a minimum standard of hardware capabilities which must be supported for a display system to be "Direct3D 10 compatible". This is a significant departure, with the goal of streamlining application code by removing capability-checking code and special cases based on the presence or absence of fine-grain capabilities.


Because Direct3D 10 hardware is comparatively rare after the release of Windows Vista, the first Direct3D 10-compatible games still provide Direct3D 9 render paths. Examples of such titles are games originally written for Direct3D 9 and ported to Direct3D 10 after their release, such as Company of Heroes, or games originally developed for Direct3D 9 with a Direct3D 10 path retrofitted later in development, such as Hellgate: London. No games have yet been announced that will natively and exclusively use Direct3D 10. Windows Vista is a line of graphical operating systems used on personal computers, including home and business desktops, notebook computers, Tablet PCs, and media centers. ...


New features

  • Fixed pipelines[12] are being done away with in favor of fully programmable pipelines (often referred to as unified pipeline architecture), which can be programmed to emulate the same.
  • New state object to enable (mostly) the CPU to change states efficiently.
  • Shader model 4.0, enhances the programmability of the graphics pipeline. It adds instructions for integer and bitwise calculations.
  • Geometry shaders, which work on adjacent triangles which form a mesh.
  • Texture arrays enable swapping of textures in GPU without CPU intervention.
  • Predicated Rendering allows drawing calls to be ignored based on some other conditions. This enables rapid occlusion culling, which prevents objects from being rendered if it is not visible or too far to be visible.
  • Instancing 2.0 support, allowing multiple instances of similar meshes, such as armies, or grass or trees, to be rendered in a single draw call, reducing the processing time needed for multiple similar objects to that of a single one.[13]
 --> 

The High Level Shader Language (HLSL) is a proprietary shading language developed by Microsoft for use with the Microsoft Direct3D API. It is in competition with GLSL shading language, but is not compatible with this OpenGL standard. ... In 3D computer graphics, the terms graphics pipeline or rendering pipeline most commonly refer to the current state of the art method of rasterization-based rendering as supported by commodity graphics hardware. ... Geometry shader (abbreviation GS) is a shader program, normally executed on the Graphics processing unit. ... A mesh is a collection of vertices and polygons that define the shape of an object in 3D computer graphics. ... Spherical texture mapping Texture mapping is a method, pioneered by Edwin Catmull, of adding detail, surface texture, or colour to a computer-generated graphic or 3D model. ... In 3D computer graphics, hidden surface determination is the process used to determine which surfaces and parts of surfaces are not visible from a certain viewpoint. ... There are very few or no other articles that link to this one. ...

Future development

This article or section contains information about scheduled or expected future software.
The content may change as the software release approaches and more information becomes available.

Direct3D 10.1 has been pre-announced by Microsoft shortly after the release of Direct3D 10. As a minor update to the Direct3D 10 interface, it will bring features that had to be left on the side in the initial specification. In summary, bigger control over antialiasing (both multisampling AND supersampling with per sample shading and application control over sample position), more flexibilities to some of the existing features (cubemap arrays, independent blending modes). Its feature will be supported exclusively by new (not released) hardware, which has lead to some criticisms, considering that it made the previous Direct3D 10 hardware obsolete so shortly after its release[14]. Hardware and API release date are yet to be announced. Image File history File links Current_event_marker. ... Image File history File links Nuvola_apps_kpager. ...


The exact detail of what's been added is in the d3d10.1 technology preview available for download from Microsoft. The exact specification is bound to vary based on the fact that this is a beta/preview. But the bulk of new features should stay the same.


Direct3D 11 is also in current development with no real specification exposed to the public yet. Words such as order independent transparency and tesselation have been pronounced with difficulty, but without indication that they will appear in the time frame of Direct3D 11 or in a following release.


Related tools

DirectX comes with D3DX, a library of tools designed to perform common mathematical calculations and several more complicated tasks, such as compiling or assembling shaders used for 3D graphic programming. It also includes several classes that simplify the use of 3D-models and, for example, particle systems. D3DX is provided as a dynamic link library (DLL). In computing, D3DX is a high level API library that sits on top of Microsofts Direct3D graphics API. The D3DX libaray was introduced in Direct3D 8 and an improved version was released with Direct3D 9. ... For more background on this topic, see game physics. ... In computing, D3DX is a high level API library that sits on top of Microsofts Direct3D graphics API. The D3DX libaray was introduced in Direct3D 8 and an improved version was released with Direct3D 9. ... In computer science, a library is a collection of subprograms used to develop software. ...


DXUT (also called the sample framework) is a layer built on top of the Direct3D API. The framework is designed to help the programmer spend less time with mundane tasks, such as creating a window, creating a device, processing Windows messages and handling device events.


Direct3D and Vista

Vista and its updated driver model brings some new improvements and changes compared to the Windows XP model, and is expected to evolve even more as the hardware and the OS evolve (via future service packs or in the next version of Windows).


Windows Vista forces multithreading, via a theoretically unlimited number of execution contexts on the GPU. Multithreading was already supported in windows XP as two applications or more could execute in different windows and be hardware accelerated. Windows Vista makes it a requirement to support an arbitrarily large number of execution contexts (or threads) in hardware or in software. Vista, in its basic scheduling incarnation (the current driver model), manages threads all by itself, allowing the hardware to switch from one thread to the other when appropriate. This is a departure from Windows XP, where the hardware could decide to switch threads on its own, as the OS had limited control about what the GPU could do. Also Windows Vista manages memory management and paging (to system memory and to disk), which is a necessity in order to support a large number of execution contexts with their own resources. Each execution context is presented with a resource view of the GPU that matches the maximum available (or exceeds it for aware applications). Most of the management is implemented on the OS side in order to be properly integrated into the OS-kernel memory management. This extra scheduling/management layer can cause performance decrease in the single-execution-thread case (especially on the CPU front), unless offloaded by adequate hardware support (or masked by other efficiency gains).


Execution contexts are protected from each other. Because of the user-mode implementation of the Vista driver, a rogue or badly written app can take control of the execution of the driver and could potentially access data from another process within GPU memory by sending modified commands. Though protected from access by another app, a well-written app still needs to protect itself against failures and device loss caused by other applications. The user-mode implementation can reduce the occurrence of BSODs caused by graphics drivers (which is a much more catastrophic event to a running app than a device-lost event).


Regularly Microsoft spokespeople talked about the necessity to have a finer grain context switching (referred to as "advanced scheduling") so as to be able to switch two execution threads at the shader-instruction level instead of the single-command level or even batch of commands. This is not a requirement of Vista, nor of Direct3D 10 compatibility. Direct3D10 apps can run, and are now running, on top of the basic scheduling implementation. This isn't typically a problem except for a potential app that would have very long execution of a single command/batch of commands (which is currently prevented under Windows Vista). Vista cannot enforce right now a finer-grained context switching, as it will require additional support from hardware vendors, but it may appear in the future.


See also

The High Level Shader Language (HLSL) is a shader language developed by Microsoft for use with DirectX, and is very similar to Cg. ... Microsoft DirectX is a collection of application programming interfaces for handling tasks related to multimedia, especially game programming and video, on Microsoft platforms. ... OpenGL (Open Graphics Library) is a standard specification defining a cross-language cross-platform API for writing applications that produce 2D and 3D computer graphics. ... DirectDraw is part of Microsofts DirectX API. DirectDraw is used to render graphics in applications where top performance is important. ... 3D computer graphics are different from 2D computer graphics in that a three-dimensional representation of geometric data is stored in the computer for the purposes of performing calculations and rendering 2D images. ... Shaders are a set of different technologies. ...

References

  1. ^ Microsoft DirectX SDK Readme (October 2006)
  2. ^ Software Rasterizer for DirectX 9.0 SDK.
  3. ^ Direct3D Resources - Memory pool.
  4. ^ Direct3D 9.0 pipeline diagram.
  5. ^ Direct3D 10 pipeline stages.
  6. ^ Direct3D 6.0 introduces multitextures.
  7. ^ Direct3D 7 introduces DirectDraw Surface (.dds) format.
  8. ^ Direct3D takes over DirectDraw.
  9. ^ HLSL in Direct3D 9.0.
  10. ^ Chuck Walbourn (August 2006). Graphics APIs in Windows Vista. MSDN. Retrieved on 2007-02-26.
  11. ^ DirectX 10 SDK available since February 2007.
  12. ^ CNet News
  13. ^ Direct3D 10 Additional Improvements.
  14. ^ Ferret, Willy. Vole shoots foot with 10.1 upgrade. theinquirer.net. Retrieved on 2007-08-20.

Memory pools allow dynamic memory allocation comparable to malloc or the Operator new in C++. As those implementations suffer from fragmentation because of variable block sizes, it can be impossible to use them in a real time system due to performance. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... is the 57th day of the year in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... is the 232nd day of the year (233rd in leap years) in the Gregorian calendar. ...

External links

  • DirectX website
  • DirectX 10 Wiki - Wiki covering DirectX 10 Tutorials, Samples, Effect, News.
  • DirectX 10: The Future of PC Gaming Technical article discussing the new features of DirectX 10 and their impact on computer games

  Results from FactBites:
 
Direct3D vs. OpenGL: comparison (0 words)
Microsoft defines the Direct3D API through its COM interfaces, and the semantics are defined by the the help files and sample code accompanying the software development kit provided by Microsoft.
Direct3D first appeared in DirectX 3 with execute buffers as its display paradigm.
Hierarchical display lists are not provided by Direct3D, but Direct3D does provide storage for polygon vertices and vertex indices to avoid data copying.
GameDev.net - An Overview of Direct3D (3791 words)
Direct3D constitutes one of the emerging APIs from Microsoft Corporation, for providing new software features to developers, so that new and existing features of the PC can be exploited much better than is possible presently.
Direct3D is available to the developer as an API, using which, applications utilizing 3D graphics can be developed much faster using a standard way.
Though we have said uptil now that Direct3D can be used to display 3D data and though it is possible to generate 3D data on the fly, it is very difficult and restrictive to store information of various complex models and scenes, typically used in 3D systems, directly inside the application.
  More results at FactBites »

 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m