HAL(HW Adaptation Layer) in OpenGL ES SW Engine ?
I'd like to know whether the HAL (HW Adaptation Layer) in 3D Graphics Engine is needed, if the 3D Graphics Engine is the implementation of OpenGL ES.
There are many HW Accelerator and chipsets, so I thought when I designed the 3D Graphics Engine, HAL is very important to increase the portability of the 3D Engine.
Nowadays, however, many HW accelerators supports OpenGL ES, and I think "OpenGL ES" becomes the basic functionality of a HW accelerator. Moreover, like ATI Imageon 230, HW accelerators OpenGL ES compliant will be developed more and more.
From this point of view, HAL in 3D Engine (OpenGL ES SW implementation) does not seem to have much meaning.
I'd like to exchange views with the OpenGL ES related ppl on this matter. ^^
[ June 07, 2004: Message edited by: HoKyung Kim ]
Re: HAL(HW Adaptation Layer) in OpenGL ES SW Engine ?
I'd imagine that even if you model your HAL very closely to the OpenGL ES API, you'd still want to have another layer of abstraction between your game engine and the underlying graphics hardware. Most hardware implementations will provide distinct extensions to the standard, and they will have different performance characteristics. Ideally, the HAL will hide those differences from the engine core. For the engine I am working on myself, for example, rendering of meshes and BSP trees are the fundamental primitive operations exposed to higher level services. This is similar to the approach of JSR-184, which also makes the mesh structure the central object.
Just my 2 cents,