OpenGL API question

  • Follow


Most of the games, written for Windows, that aren't portable, use Direct
X. Now and then, however, there's a game that uses Open GL and is _not_
portable... I am mystified why. Any ideas?
0
Reply keith 3/11/2009 7:50:25 PM

keith wrote:

> Most of the games, written for Windows, that aren't portable, use Direct
> X. Now and then, however, there's a game that uses Open GL and is _not_
> portable... I am mystified why. Any ideas?

Graphics is not the only part of a game. There are Sound, User Input and a
lot of other potentially unportable stuff involved. However most game
engines are very portable, and have been ported to Linux and MacOS X.

The largest problem seem to be the developers/publishers, which are not
willing to restart the compiler 2 times more for Linux and Mac.

-- 
OpenGL tip #42:
How to exactly map texture texels to screen pixels:
<http://preview.tinyurl.com/cgndc8>


0
Reply Wolfgang 3/11/2009 8:13:55 PM


On Mar 11, 8:50=A0pm, keith <johndoe64...@yahoo.com> wrote:
> Most of the games, written for Windows, that aren't portable, use Direct
> X. Now and then, however, there's a game that uses Open GL and is _not_
> portable... I am mystified why. Any ideas?

In a real game engine the rendering part is only a tiny thing
and quite modular. The game could probably be ported without
too much effort. If there's no Linux version it's not because
of the API, it's because there's no financial gain to be made.


--
<\___/>
/ O O \
\_____/  FTB.

http://www.topaz3d.com/  - New 3D editor!
0
Reply fungus 3/11/2009 8:22:53 PM

> The largest problem seem to be the developers/publishers, which are not
> willing to restart the compiler 2 times more for Linux and Mac.

I agree, but why target Open GL from the start? Why not just eat what M$
throws at us? That is, I am mystified... If you don't want to restart
the compiler on linux/mac os, why use the Open GL API in the first place?
0
Reply keith 3/12/2009 10:30:22 PM

fungus wrote:
> On Mar 11, 8:50 pm, keith <johndoe64...@yahoo.com> wrote:
>> Most of the games, written for Windows, that aren't portable, use Direct
>> X. Now and then, however, there's a game that uses Open GL and is _not_
>> portable... I am mystified why. Any ideas?
> 
> In a real game engine the rendering part is only a tiny thing
> and quite modular. The game could probably be ported without
> too much effort. If there's no Linux version it's not because
> of the API, it's because there's no financial gain to be made.

Still, there's more to that. For example, I have code that should 
compile on Linux. However, I introduced Cg recently, and I do have to 
read up on how/if that is supported under Linux.
Slight differences in many places, it just takes more effort.

Ruud
0
Reply Ruud 3/12/2009 10:31:20 PM

"keith" <johndoe64738@yahoo.com> wrote in message 
news:gpc2dd$7us$1@news.motzarella.org...
>> The largest problem seem to be the developers/publishers, which are not
>> willing to restart the compiler 2 times more for Linux and Mac.
>
> I agree, but why target Open GL from the start? Why not just eat what M$
> throws at us? That is, I am mystified... If you don't want to restart
> the compiler on linux/mac os, why use the Open GL API in the first place?

  Well, one reason to use OpenGL on a solely Windows app is that OpenGL 
hasn't changed nearly as incompatibly as Direct3D has. With every rev of 
D3D, one has to go fix stuff, sometimes with pain. With OpenGL, you don't. 
You just *can* take advantage of new things, you don't *have* to.
   This is much like asking why use POSIX calls, or ANSI standard C/C++ 
rather than native Windows proprietary. The former changes slowly, and 
usually upwards compatibly. The latter changes faster & less compatibly. 
Hence, for example, some WinXP stuff doesn't work on Vista. But a purely 
standard C/C++ & OpenGL app *theoretically* can.
   So, are you ready to start your rewrite for Windows 7 ?

jbw


0
Reply jbwest 3/13/2009 3:34:19 AM

>    This is much like asking why use POSIX calls, or ANSI standard C/C++ 
> rather than native Windows proprietary. The former changes slowly, and 
> usually upwards compatibly. The latter changes faster & less compatibly. 
> Hence, for example, some WinXP stuff doesn't work on Vista. But a purely 
> standard C/C++ & OpenGL app *theoretically* can.
>    So, are you ready to start your rewrite for Windows 7 ?

Not really, my impression is that nowadays, games are published with a
couple of months of patches (unless they are MMORPGs or some such) and
then they cease to be supported/patched. They become dead code kind of...
0
Reply keith 3/13/2009 5:22:24 PM

On Mar 13, 4:34=A0am, "jbwest" <jbw...@acm.org> wrote:
>
> =A0 Well, one reason to use OpenGL on a solely Windows app is that OpenGL
> hasn't changed nearly as incompatibly as Direct3D has. With every rev of
> D3D, one has to go fix stuff, sometimes with pain.

I don't think games care about that. They write for a single
version of Direct3D and never change it.


--
<\___/>
/ O O \
\_____/  FTB.

http://www.topaz3d.com/  - New 3D editor!
0
Reply fungus 3/13/2009 8:53:19 PM

On 2009-03-13, fungus <openglMYSOCKS@artlum.com> wrote:
>
> On Mar 13, 4:34�am, "jbwest" <jbw...@acm.org> wrote:
>>
>> � Well, one reason to use OpenGL on a solely Windows app is that OpenGL
>> hasn't changed nearly as incompatibly as Direct3D has. With every rev of
>> D3D, one has to go fix stuff, sometimes with pain.
>
> I don't think games care about that. They write for a single
> version of Direct3D and never change it.

Game middleware (3D engines) however do have to care about that. And
it's a pain in the ass to port a 3D engine from one D3D version to the
next.


-- 
John Tsiombikas (Nuclear / Mindlapse)
http://nuclear.sdf-eu.org/
0
Reply John 3/13/2009 11:14:55 PM

keith wrote:

> Most of the games, written for Windows, that aren't portable, use Direct
> X. Now and then, however, there's a game that uses Open GL and is _not_
> portable... I am mystified why. Any ideas?

Microsoft has tried to squash OpenGL before, and you're lucky Windows even
has OpenGL support.  I think it only exists in Windows, because some
powerful vendor thinks it should be there, and the lack of that vendor
would hurt Microsoft.

Microsoft has formed alliances, made announcements, and then gone an
entirely different direction with DirectX.

http://en.wikipedia.org/wiki/Fahrenheit_graphics_API

Microsoft doesn't like portability.  There are websites online still (taken
from the old content of the iowaconsumer.org site before the settlement)
that contain the internal memos and documents from top Microsoft executives
saying things like (paraphrase) "let's kill Java."  They have a great
interest in vendor's being locked in to their API, and they use their
leverage to enable that.

Most of Microsoft though isn't to blame.  Microsoft is nothing without their
employes, and they are the people suffering and losing 10% of their
paycheck or getting layed off now.

-George
0
Reply George 3/15/2009 1:18:14 AM

keith <johndoe64738@yahoo.com> writes:
>> The largest problem seem to be the developers/publishers, which are not
>> willing to restart the compiler 2 times more for Linux and Mac.
>
> I agree, but why target Open GL from the start? Why not just eat what M$
> throws at us? That is, I am mystified... If you don't want to restart
> the compiler on linux/mac os, why use the Open GL API in the first place?

Maybe they're thinking about consoles?  Don't Sony/Nintendo use Open GL
or some variant thereof?  [Probably not Xbox I guess :-]

-Miles

-- 
Virtues, n. pl. Certain abstentions.
0
Reply Miles 3/16/2009 4:15:36 AM

Miles Bader wrote:

> Maybe they're thinking about consoles?  Don't Sony/Nintendo use
> Open GL
> or some variant thereof?  [Probably not Xbox I guess :-]

Indeed the Playstation consoles have OpenGL as graphics API.

On the XBox you've to cope with a variant of the DirectX API.

Wolfgang

0
Reply Wolfgang 3/16/2009 11:25:56 AM

11 Replies
189 Views

(page loaded in 0.179 seconds)

Similiar Articles:


















7/9/2012 7:23:48 AM


Reply: