How do game engines communicate with the OS and hardware


(adwitandrew) #1

Hi I Hope you are having a good day.

I noticed that almost every game engine has its own way of representing numeric data (matrices, vectors etc).
After looking at some example code there wasn’t or at least I couldn’t find any code that translated these specialized formats into either opengl or directX’s numeric formats,
“so how do game engines communicate with the hardware if they all have different methods
of representing data?”.

Thanks any help will be greatly appreciated.


(adwitandrew) #2

Help anyone


(Lostscience) #3

Read this i might help.Here is a link.


(sundialsvc4) #4

Well, maybe, “in much the same way that Blender does!” :yes:

Operating systems ordinarily provide high-performance 2D and 3D interface layers – OpenGL, DirectX, and so on – which are designed for use by games. Applications communicate with this layer and rely upon it to correctly transfer their intentions to the underlying hardware of “this particular machine.”

Yes, game engines use sometimes-proprietary formats to represent their so-called “assets,” but open standard formats also exist with import/export capabilities.

Ultimately, it is the logic of the game-engine itself that is responsible for interpreting its data and issuing the correct instructions to the interface layer.


(adwitandrew) #5

Thanks everyone.
So would having a script that interprets the different formats before passing them on to DirectX/OpenGL
be a bad design.


(Lostscience) #6

A game engine can support as many formats as you like.The only
thing to watch out for is the license of those formats.You have to choose the appropriate license for the game engine you are making.


(adwitandrew) #7

Thanks.
Note: I referring to the way matrices, vectors and quaternions are represented.
There aren’t any licenses to numeric schemes are there?


(Lostscience) #8

Not that i know of.sundialsvc4 said you can use open standard formats with import/export capabilities.I do not know what that means.