Game Development Community

How much DirectX/opengl in the engine?

by Graham Reeves · in Torque Game Engine · 07/13/2001 (7:44 am) · 13 replies

im thinking about purchasing the v12 engine, for a "out of office hours" project, mainly for the netcode and sound based bits, but when going through the faq and tech spec etc, i noticed it used a combo of opengl and directX; can someone tell me what the directx is used for? input? netcode? sound? rendering?

or is it just stated as "support for directx"?

#1
07/16/2001 (6:04 am)
I thought DirectPlay was for netcode, and DirectSound is for the sound components. I assume the engine calls the DirectX APIs rather than manipulating the video card drivers directly.
#2
07/16/2001 (6:31 am)
I think currently there is an OpenGL wrapper for Direct3D, the sound is being done with OpenAL instead of DirectSound, and the input is being done with DirectInput (this may change as the other ports are moved further along).
#3
07/16/2001 (9:28 am)
DirectInput will always be used for Windows input. Each port will have their own mechanism for input.

Ryan J. Parker
rjp@awingsoftware.com
#4
07/16/2001 (1:33 pm)
but the netcode isnt directplay right? I suppose it doesnt matter too much, I aim to replace everything eventually, but wanna get off to a start with somehting I might understand ;]
#5
07/16/2001 (2:47 pm)
No, no DirectPlay.

Ryan J. Parker
#6
07/21/2001 (12:53 pm)
Hi there! I am also interested in getting this engine
as an 'on-the-side' type of project. I noticed the
task-lists have mentioned OpenGL and DirectX Drivers.
This causes me to have 2 different questions. One, is
wether or not Direct3D will actually be used as a
rendering option. Two, related to one, is wether or
not V12 will have support for things like Direct3D8 and
those advanced Geforce3/ATI Raedon hardware features.
OpenGL is nice, and it is widely supported, but being
locked at Version 1.2, Direct3D has now gained features
and support OpenGL just does not have. If OpenGL is
updated, this may change, but for now we'd need D3D8 to
have access to a Geforce 3. Thanks for your time.

Monolith 'Shandara' Tyriss
Main Programmer
FoxFlame Software
#7
07/21/2001 (1:14 pm)
Well according to this faq http://www.opengl.org/users/faq/index.html#9 "For games, both are equally fast and equally feature-rich."

I do believe it is the other way around. With OpenGl extentions you get the new features right of the bat, you don't have to wait for the next version to get them like you do with Direct3D.
#8
07/22/2001 (1:53 pm)
I'll second Jake here.

DX is getting very good, but it's spec is decided by Microsoft.

OpenGL is, as it name suggests, very open. Vendors can specify their own extensions which allow them to 'expose' the functionality of their graphics cards / device drivers. So far Nvidia and ATI have done a good job, going beyond the functionality available in DX8. This does impose some extra work on the developer to support these extensions, but when properly considered this is not so different from the DX8 case.

Version changes in OpenGL do not have the same significance as in DX. For example, Microsoft only provide a 1.1 interface to OpenGL, not 1.2. So OpenGL on windows can only use 1.1 function calls directly. This is no problem though, as using the extension mechanism you can call the 1.2 (and other) functions just as easily.

Back on topic, from the front page news V12 can support ATI TRUFORM. Other effects, such as Cubic environment mapping, per-pixel lighting etc., will probably have to be coded in. Since you get the source this should not be too much of a problem if you understand these effects. Creating all the extra artwork and getting the engine to work at a good speed with these effects might be.

Cheers,

Doug EnkiSoftware Limited
#9
07/25/2001 (9:42 am)
The V12 uses OpenGL for all of it's rendering, but a OpenGL to DirectX wrapper is provided (based on Quake's dx wrapper). At one point our OpenAL implementation used DirectSound, but that was broken when Dynamix switch to the Miles Sound System. The DxSound driver is still there, but will get ripped out when we re-implement our OpenAL interface. Currently the only thing used out the DirectX "family" is DirectInput.
#10
07/25/2001 (5:06 pm)
I'm looking forward to seeing the OpenGL in the V12 I've been playing with it for a while now and can do quite a bit of cool stuff with it (all kind of pointless though!!), I'd just like to see how you guys have pieced this all together. OpenGL is a lot easier IMHO to do that Direct 3D....

Owen
#11
07/26/2001 (10:45 am)
And that is because there is no open input library. Labtec is limited by this as well, a quote from thier press release:

"Labtec has implemented support for Microsoft DirectInput
#12
07/27/2001 (1:55 am)
My game Avoyd also uses DirectInput from DirectX for this reason (like V12 we use OpenGL and OpenAL for the rest).

Input is somewhat tied to window management as well. I had thought of using GLUT for both (a cross platform window and input managment API for OpenGL), but it's methods are not gaming oriented.

I would welcome, and assist, any reasonable venture to make a GLUT like API designed for games.
#13
07/27/2001 (8:46 am)
SDL has a pretty decent cross-plaform input library that is targetted for games.