From AttilaWiki

Jump to:navigation, search


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:

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