Jump to content

  • Log In with Google      Sign In   
  • Create Account


#ActualL. Spiro

Posted 27 January 2013 - 06:48 PM

Define what an “actual” 3D game is?
Low-level indie games could use anything.  Many people use wrappers such as SDL or SMFL, but this is mainly just for helping them through the learning process or to get quick but not-so-serious results.
 
Medium-level indie games get closer to the direct API of choice, but it is not consistent enough to say what they “commonly” use, and at this point the target platform becomes much more of a decision-maker.  Of course the mobile industry is booming so it is worth mentioning that for mobile platforms they will all be using raw OpenGL ES 2.0.
But at this level those who are developing for Windows start to lean more towards DirectX and start to grow their own cross-platform engine (assuming you are not interesting in those who are using Unity 3D, Unreal Engine, etc., since you seem to want to get hands-on with your work).
At this level it is not always feasible in terms of skill or finances to make a DirectX port of an existing OpenGL engine, but even those who stick to OpenGL start to tend more towards raw OpenGL (no wrappers, just raw OpenGL).
 
At the AAA end of the scale things become more consistent but there is still no single answer.
By this point OpenGL is rarely used at all except for OpenGL ES 2.0 for mobiles.  Consoles and hand-helds (such as Nintendo 3DS) often provide an OpenGL (or OpenGL ES 2.0) layer but developers avoid this for performance reasons—it is always faster to use the native API.
That carries over to PC, in which the native API is DirectX.  As a result, most “actual” games (you didn’t define it so I can only assume what you meant) for the desktop market use DirectX when possible and OpenGL when no other options are available, and they strictly use raw OpenGL.
Generally the big game developers prefer to avoid OpenGL altogether if possible because it is like developing for Android—there are too many inconsistent implementations across vendors and the drivers are usually shoddy.  What works on one machine is guaranteed not to work on some other machine out there.
Another reason is that with the expectations on today’s graphics, they will require OpenGL 4.3, which requires users of Windows to upgrade manually if they have not already on Windows.
 
Valve is trying to put an end to this situation, and we may well start to see much better drivers (which means performance) and more consistent results in the future.
 
 
OpenGL is worth learning for 2 reasons:
  • There may be a surge in OpenGL games if Valve is successful in its Linux pursuit.
  • The mobile industry is booming and is a great place to start making your own indie games.
But if we assume that by “actual” you meant “AAA”, while there are always exceptions, the main answer is that they are using DirectX 11 first, then DirectX 9, then raw OpenGL if targeting Linux or Macintosh.  Generally speaking.
 
And which implementation?  I think you meant to answer which version.  You don’t get to pick your implementation—that is up to the vendors to implement.
The version you want is up to you.  Lower versions work across more machines, but your graphics will be pretty poor.  If you want compute shaders you will need core version 4.3 or GL_ARB_compute_shader extension.  If you use extensions, prepare for headaches as you implement all the fall-backs for unsupported features.  One more reason why the big guys stay away from OpenGL when possible.
 
 
L. Spiro

#6L. Spiro

Posted 27 January 2013 - 06:48 PM

Define what an “actual” 3D game is?
Low-level indie games could use anything.  Many people use wrappers such as SDL or SMFL, but this is mainly just for helping them through the learning process or to get quick but not-so-serious results.
 
Medium-level indie games get closer to the direct API of choice, but it is not consistent enough to say what they “commonly” use, and at this point the target platform becomes much more of a decision-maker.  Of course the mobile industry is booming so it is worth mentioning that for mobile platforms they will all be using raw OpenGL ES 2.0.
But at this level those who are developing for Windows start to lean more towards DirectX and start to grow their own cross-platform engine (assuming you are not interesting in those who are using Unity 3D, Unreal Engine, etc., since you seem to want to get hands-on with your work).
At this level it is not always feasible in terms of skill or finances to make a DirectX port of an existing OpenGL engine, but even those who stick to OpenGL start to tend more towards raw OpenGL (no wrappers, just raw OpenGL).
 
At the AAA end of the scale things become more consistent but there is still no single answer.
By this point OpenGL is rarely used at all except for OpenGL ES 2.0 for mobiles.  Consoles and hand-helds (such as Nintendo 3DS) often provide an OpenGL (or OpenGL ES 2.0) layer but developers avoid this for performance reasons—it is always faster to use the native API.
That carries over to PC, in which the native API is DirectX.  As a result, most “actual” games (you didn’t define it so I can only assume what you meant) for the desktop market use DirectX when possible and OpenGL when no other options are available, and they strictly use raw OpenGL.
Generally the big game developers prefer to avoid OpenGL altogether if possible because it is like developing for Android—there are too many inconsistent implementations across vendors and the drivers are usually shoddy.  What works on one machine is guaranteed not to work on some other machine out there.
Another reason is that with the expectations on today’s graphics, they will require OpenGL 4.3, which requires users of Windows to upgrade manually if they have not already on Windows.
 
Valve is trying to put an end to this situation, and we may well start to see much better drivers (which means performance) and more consistent results in the future.
 
 
OpenGL is worth learning for 2 reasons:

  • There may be a surge in OpenGL games if Valve is successful in its Linux pursuit.
  • The mobile industry is booming and is a great place to start making your own indie games.
But if we assume that by “actual” you meant “AAA”, while there are always exceptions, the main answer is that they are using DirectX 11 first, then DirectX 9, then raw OpenGL if targeting Linux or Macintosh.  Generally speaking.
 
And which implementation?  I think you meant to answer which version.  You don’t get to pick your implementation—that is up to the vendors to implement.
The version you want is up to you.  Lower versions work across more machines, but your graphics will be pretty poor.  If you want compute shaders you will need core version 4.3 or GL_ARB_compute_shader extension.  If you use extensions, prepare for headaches as you implement all the fall-backs for unsupported features.  One more reason why the big guys stay away from OpenGL when possible.
 
 
L. Spiro

#5L. Spiro

Posted 27 January 2013 - 04:35 PM

Define what an “actual” 3D game is?

Low-level indie games could use anything.  Many people use wrappers such as SDL or SMFL, but this is mainly just for helping them through the learning process or to get quit but not-so-serious results.

 

Medium-level indie games get closer to the direct API of choice, but it is not consistent enough to say what they “commonly” use, and at this point the target platform becomes much more of a decision-maker.  Of course the mobile industry is booming so it is worth mentioning that for mobile platforms they will all be using raw OpenGL ES 2.0.

But at this level those who are developing for Windows start to lean more towards DirectX and start to grow their own cross-platform engine (assuming you are not interesting in those who are using Unity 3D, Unreal Engine, etc., since you seem to want to get hands-on with your work).

At this level it is not always feasible in terms of skill or finances to make a DirectX port of an existing OpenGL engine, but even those who stick to OpenGL start to tend more towards raw OpenGL (no wrappers, just raw OpenGL).

 

At the AAA end of the scale things become more consistent but there is still no single answer.

By this point OpenGL is rarely used at all except for OpenGL ES 2.0 for mobiles.  Consoles and hand-helds (such as Nintendo 3DS) often provide an OpenGL (or OpenGL ES 2.0) layer but developers avoid this for performance reasons—it is always faster to use the native API.

That carries over to PC, in which the native API is DirectX.  As a result, most “actual” games (you didn’t define it so I can only assume what you meant) for the desktop market use DirectX when possible and OpenGL when no other options are available, and they strictly use raw OpenGL.

Generally the big game developers prefer to avoid OpenGL altogether if possible because it is like developing for Android—there are too many inconsistent implementations across vendors and the drivers are usually shoddy.  What works on one machine is guaranteed not to work on some other machine out there.

Another reason is that with the expectations on today’s graphics, they will require OpenGL 4.3, which requires users of Windows to upgrade manually if they have not already on Windows.

 

Valve is trying to put an end to this situation, and we may well start to see much better drivers (which means performance) and more consistent results in the future.

 

 

OpenGL is worth learning for 2 reasons:

  1. There may be a surge in OpenGL games if Valve is successful in its Linux pursuit.
  2. The mobile industry is booming and is a great place to start making your own indie games.

But if we assume that by “actual” you meant “AAA”, while there are always exceptions, the main answer is that they are using DirectX 11 first, then DirectX 9, then raw OpenGL if targeting Linux or Macintosh.  Generally speaking.

 

And which implementation?  I think you meant to answer which version.  You don’t get to pick your implementation—that is up to the vendors to implement.

The version you want is up to you.  Lower versions work across more machines, but your graphics will be pretty poor.  If you want compute shaders you will need core version 4.3 or GL_ARB_compute_shader extension.  If you use extensions, prepare for headaches as you implement all the fall-backs for unsupported features.  One more reason why the big guys stay away from OpenGL when possible.

 

 

L. Spiro


#4L. Spiro

Posted 27 January 2013 - 04:27 PM

Define what an “actual” 3D game is?

Low-level indie games could use anything.  Many people use wrappers such as SDL or SMFL, but this is mainly just for helping them through the learning process or to get quit but not-so-serious results.

 

Medium-level indie games get closer to the direct API of choice, but it is not consistent enough to say what they “commonly” use, and at this point the target platform becomes much more of a decision-maker.  Of course the mobile industry is booming so it is worth mentioning that for mobile platforms they will all be using raw OpenGL ES 2.0.

But at this level those who are developing for Windows start to lean more towards DirectX and start to grow their own cross-platform engine (assuming you are not interesting in those who are using Unity 3D, Unreal Engine, etc., since you seem to want to get hands-on with your work).

At this level it is not always feasible in terms of skill or finances to make a DirectX port of an existing OpenGL engine, but even those who stick to OpenGL start to tend more towards raw OpenGL (no wrappers, just raw OpenGL).

 

At the AAA end of the scale things become more consistent but there is still no single answer.

By this point OpenGL is rarely used at all except for OpenGL ES 2.0 for mobiles.  Consoles and hand-helds (such as Nintendo 3DS) often provide an OpenGL (or OpenGL ES 2.0) layer but developers avoid this for performance reasons—it is always faster to use the native API.

That carries over to PC, in which the native API is DirectX.  As a result, most “actual” games (you didn’t define it so I can only assume what you meant) for the desktop market use DirectX when possible and OpenGL when no other options are available, and they strictly use raw OpenGL.

Generally the big game developers prefer to avoid OpenGL altogether if possible because it is like developing for Android—there are too many inconsistent implementations across vendors and the drivers are usually shoddy.  What works on one machine is guaranteed not to work on some other machine out there.

Valve is trying to put an end to this situation, and we may well start to see much better drivers (which means performance) and more consistent results in the future.

 

 

OpenGL is worth learning for 2 reasons:

  1. There may be a surge in OpenGL games if Valve is successful in its Linux pursuit.
  2. The mobile industry is booming and is a great place to start making your own indie games.

But if we assume that by “actual” you meant “AAA”, while there are always exceptions, the main answer is that they are using DirectX 11 first, then DirectX 9, then raw OpenGL if targeting Linux or Macintosh.  Generally speaking.

 

 

L. Spiro


#3L. Spiro

Posted 27 January 2013 - 04:26 PM

Define what an “actual” 3D game is?

Low-level indie games could use anything.  Many people use wrappers such as SDL or SMFL, but this is mainly just for helping them through the learning process or to get quit but not-so-serious results.

 

Medium-level indie games get closer to the direct API of choice, but it is not consistent enough to say what they “commonly” use, and at this point the target platform becomes much more of a decision-maker.  Of course the mobile industry is booming so it is worth mentioning that for mobile platforms they will all be using raw OpenGL ES 2.0.

But at this level those who are developing for Windows start to lean more towards DirectX and start to grow their own cross-platform engine (assuming you are not interesting in those who are using Unity 3D, Unreal Engine, etc., since you seem to want to get hands-on with your work).

At this level it is not always feasible in terms of skill or finances to make a DirectX port of an existing OpenGL engine, but even those who stick to OpenGL start to tend more towards raw OpenGL (no wrappers, just raw OpenGL).

 

At the AAA end of the scale things become more consistent but there is still no single answer.

By this point OpenGL is rarely used at all except for OpenGL ES 2.0 for mobiles.  Consoles and hand-helds (such as Nintendo 3DS) often provide an OpenGL (or OpenGL ES 2.0) layer but developers avoid this for performance reasons—it is always faster to use the native API.

That carries over to PC, in which the native API is DirectX.  As a result, most “actual” games (you didn’t define it so I can only assume what you meant) for the desktop market use DirectX when possible and OpenGL when no other options are available, and they strictly use raw OpenGL.

Generally the big game developers prefer to avoid OpenGL altogether if possible because it is like developing for Android—There are too many inconsistent implementations across vendors and the drivers are usually shoddy.  What works on one machine is guaranteed not to work on some other machine out there.

Valve is trying to put an end to this situation, and we may well start to see much better drivers (which means performance) and more consistent results in the future.

 

 

OpenGL is worth learning for 2 reasons:

  1. There may be a surge in OpenGL games if Valve is successful in its Linux pursuit.
  2. The mobile industry is booming and is a great place to start making your own indie games.

But if we assume that by “actual” you meant “AAA”, while there are always exceptions, the main answer is that they are using DirectX 11 first, then DirectX 9, then raw OpenGL if targeting Linux or Macintosh.  Generally speaking.

 

 

L. Spiro


#2L. Spiro

Posted 27 January 2013 - 04:26 PM

Define what an “actual” 3D game is?

Low-level indie games could use anything.  Many people use wrappers such as SDL or SMFL, but this is mainly just for helping them through the learning process or to get quit but not-so-serious results.

 

Medium-level indie games get closer to the direct API of choice, but it is not consistent enough to say what they “commonly” use, and at this point the target platform becomes much more of a decision-maker.  Of course the mobile industry is booming so it is worth mentioning that for mobile platforms they will all be using raw OpenGL ES 2.0.

But at this level those who are developing for Windows start to lean more towards DirectX and start to grow their own cross-platform engine (assuming you are not interesting in those who are using Unity 3D, Unreal Engine, etc., since you seem to want to get hands-on with your work).

At this level it is not always feasible in terms of skill or finances to make a DirectX port of an existing OpenGL engine, but even those who stick to OpenGL start to tend more towards raw OpenGL (no wrappers, just raw OpenGL).

 

At the AAA end of the scale things become more consistent but there is still no single answer.

By this point OpenGL is rarely used at all except for OpenGL ES 2.0 for mobiles.  Consoles and hand-helds (such as Nintendo 3DS) often provide an OpenGL (or OpenGL ES 2.0) layer but developers avoid this for performance reasons—it is always faster to use the native API.

That carries over to PC, in which the native API is DirectX.  As a result, most “actual” games (you didn’t define it so I can only assume what you meant) for the desktop market use DirectX when possible and OpenGL when no other options are available, and they strictly use raw OpenGL.

Generally the big game developers prefer to avoid OpenGL altogether if possible because it is like developing for Android—There are too many inconsistent implementations across vendors and the drivers are usually shoddy.  What works on one machine is guaranteed not to work on some other machine out there.

Valve is trying to put an end to this situation, and we may well start to see much better drivers (which means performance) and more consistent results in the future.

 

 

OpenGL is worth for 2 reasons:

  1. There may be a surge in OpenGL games if Valve is successful in its Linux pursuit.
  2. The mobile industry is booming and is a great place to start making your own indie games.

But if we assume that by “actual” you meant “AAA”, while there are always exceptions, the main answer is that they are using DirectX 11 first, then DirectX 9, then raw OpenGL if targeting Linux or Macintosh.  Generally speaking.

 

 

L. Spiro


PARTNERS