Those of you who had been following my articles at BeNews last year, you probably remember the France-based RealTech-VR and their effort to bring a Direct3D-to-OpenGL wrapper to the BeOS. The company paused most of that effort when was clear that BeOS was stopped being developed, but after pressure from the community, they have now open sourced their D3D-2-GL implementation and work has already started to port the wrapper to MacOS and Linux in an effort to bring Direct 3D to more alternative operating systems. Today we feature a mini-interview with Stephane Denis of RealTech-VR about the implementation.1. Which operating systems the open sourced version at Sourceforge supports as of now?
Stephane Denis: Actually, the sources are designed for Win32 but they will be compatible for Linux and Mac OS soon.
The ENSEIRB (a french engineer school in Bordeaux) are currently porting it for Linux and will probably speed up a lot the developement of the interface.
2. If the wrapper only supports Windows and BeOS, how easy/difficult a port to Linux or Mac OS would be?
Stephane Denis: Personally, I continue the win32 emulation/wrapper to validate the wrapper compatibility and then I will do the Mac OS version. For Linux, there is already a crew on it working. For the BeOS version, well I probably adapt it later.
A test D3D-2-GL program loading under Windows XP. Click for larger version.
3. How far down the line the wrapper is? What has to be done yet?
Stephane Denis: Actually the Direct3D 8.0 part (only immediate mode) seems to works more or less, but not sufficiently enough to support really complex programs for the moment. But I expect that more people will look on other parts too, like DirectInput and DirectSound (since they are completly separated modules).
4. How fast/slow the implementation is when compared to a “native” GL app?
Stephane Denis: The speed or efficiency of the wrapper depends mainly of the OpenGL extensions supported. Since most of the time is consumed on rendering and not on API calls, this should be as fast as the original Direct3D code.
But you know, the goal is to get the DirectX API available on non-Win32 platform in order developers be able to create or port actual Direct3D 8 code. For Win32, some video cards like 3DLabs Wildcat or professional SGI video cards do not support Direct3d or Directdraw at all, but they have an excellent Opengl implementation. So the wrapper would be especially useful for theses adapters. A solution already exists, but we want to add Direct3D8 support.
I truly hope that more developers will join this interesting project now so we get things going in a faster pace.
A Direct3D application running in GL mode with the help of the wrapper.