Driver

From AttilaWiki

(Difference between revisions)
Jump to:navigation, search
m (Attila Common Driver Layer (ACDL))
(Attila Common Driver Layer (ACDL))
Line 17: Line 17:
* '''ACDL Checkpoints:''' As long as the ACDL has setteable states and resource objects, some debug purpose functions are provided as part of the ACDL interface to save ''human readable'' snapshots of the entire ACDL state in disk files, and further restore of this state, supporting checkpointing mechanisms in this way.
* '''ACDL Checkpoints:''' As long as the ACDL has setteable states and resource objects, some debug purpose functions are provided as part of the ACDL interface to save ''human readable'' snapshots of the entire ACDL state in disk files, and further restore of this state, supporting checkpointing mechanisms in this way.
* '''ACDL Warning Checks:''' After conscientiously setting up all the different states in the ACDL pipeline, many different situations make the whole thing to end up in a final annoying ''black'' screen. The reasons can be manyfold: a simply disabled color mask state, a meaningless configured stencil, depth or alpha function that discards all the processed fragments, a vertex shader computing only the front face color meanwhile the front face culling is enabled, and so on. To detect these cases, the ACDL allows enabling triggers to catch and print out these risk situations in disk files.
* '''ACDL Warning Checks:''' After conscientiously setting up all the different states in the ACDL pipeline, many different situations make the whole thing to end up in a final annoying ''black'' screen. The reasons can be manyfold: a simply disabled color mask state, a meaningless configured stencil, depth or alpha function that discards all the processed fragments, a vertex shader computing only the front face color meanwhile the front face culling is enabled, and so on. To detect these cases, the ACDL allows enabling triggers to catch and print out these risk situations in disk files.
-
 
-
2008.11.25  [http://attila.ac.upc.edu/doxygen/html/CDL/ DOXIGEN ACD Layer Documentation]
 
== Attila Common Driver Layer eXtensions (ACDLX) ==
== Attila Common Driver Layer eXtensions (ACDLX) ==

Revision as of 00:48, 17 December 2008

Contents

Attila Driver

The Attila driver architecture has been designed with a goal in mind: to support a great variety of 3D applications in the Attila Architecture.

To this end, the ACDL layer (Attila Common Driver Layer) supposes a friendly hardware abstraction layer that allows to build many specific API´s on top, used by this applications: the widely used OpenGL implementations (OpenGL 2.0 and OpenGL ES), the DirectX Graphics API´s (DX9 and DX10) or new high realistic micropolygon based API´s making use of the current 3D rasterization hardware (the NVIDIA Gelato software using a REYES-like algorithm is a first example).

The Attila Driver support is currently being extended following the ACDL approach. Up to now two different modules have been implemented for two popular high-level APIs: the AOGL (Attila OpenGL Driver) and the ADX9 (Attila Direct3D 9 Driver). Future work comprises the implementation of the ADX10 (Attila Direct3D 10 Driver), the AGLES (Attila OpenGL ES Driver) or the AREY (Attila REYES Driver), based on the RenderMan´s specification.

The Attila Driver Architecture (Original ppt file)

Attila Common Driver Layer (ACDL)

The ACDL module provides an abstraction layer for the Attila Architecture, giving a friendly high-level interface of a generic 3D graphics API, suitable for building concrete graphics APIs on top. The ACDL is more than a simply HAL as usually known. It provides a lot of special features specially suited to make the Graphics API implementation easier. Among them, we highlight the following ACDL features:

Attila Common Driver Layer eXtensions (ACDLX)

The ATTILA CDLX is an utility library that provides some extended functionality to the ACDL layer. These services are provided in a separate module because they are no longer used by current applications using the newest graphics APIs, and only the older APIs implementations could optionally use them.

The most important services offered by the ACDLX are the following:

Further information:

Opengl logo.jpg

Attila Open GL Module (AOGL)

The Attila OpenGL Module implements a large subset of OpenGL calls using the Attila hardware acceleration and, in its current status, it supports some of the most important API features from OpenGL specs 1.4 to 2.0.

This allows full real execution of advanced OpenGL applications as Doom3 or Quake4 games, using the following API features and extensions:

The classic OpenGL Teapot
DirectX logo.jpg

Attila DX9 Module (ADX9)

Attila DX9 Module is in a heavy construction stage. It's close to support commercial 3D games, as Half Life 2.

The classic Direct3D rotating cube

See:

Highlights:

ATTILA
Toolbox