Hacker News new | past | comments | ask | show | jobs | submit login

Not sure here but don't all major engines already support OpenGL ootb ? Basically any engine thats runs on PS3/PS4 does like UnrealEngine, Cryengine, idTech, Unity and most indie/open source engines are OpenGL anyway. All engines that target Android/iOS are OpenGL too. Even for things like XNA which was Xbox/DirectX only there is MonoGame to port it to *nix platforms easily.

So if you have rolled your own DirectX-only engine this is awesome of course, but do people really do that?




> Basically any engine thats runs on PS3/PS4 does like UnrealEngine, Cryengine, idTech, Unity and most indie/open source engines are OpenGL anyway

That's completely wrong. PS3 never used OpenGL and PS4 doesn't do either.

Unreal while having somewhat working Mac port is usually ported via Cedega and not the Mac version which is largely unmaintained. The Linux port of Unreal was never merged back either. Presently there is no reasonable OpenGL renderer. CryEngine also does not use OpenGL.


> PS3 never used OpenGL

It sort of does. PS3 uses OpenGL ES 1.0 with extensions and then there is a separate graphics library, LibGCM, that is lower level.

Details here (although this use says it doesn't use OpenGL and then says that its API is based on OpenGL + extensions, so it is a bit confusing):

http://scalibq.wordpress.com/2010/05/15/sony%E2%80%99s-plays...

EDIT: HEre is a PS3 developer saying that PS3 is OpenGL ES:

http://www.khronos.org/assets/uploads/developers/library/sig...


Almost nothing uses GLES, though. All engines have libgcm renderers.


> Almost nothing uses GLES, though. All engines have libgcm renderers.

Very true. The performance impact of both Direct3D and OpenGL is actually huge, so it is best to avoid it when you can using lower level interfaces that speak directly to the GPU.


Wow, what are they, a cursory Google search turns up this result: http://stackoverflow.com/questions/6345538/is-there-a-lower-...


Quote from Wikipedia >> The current release is Unreal Engine 3, designed for Microsoft's DirectX 9 (for Windows and Xbox 360), DirectX 10 (for Windows Vista) and DirectX 11 (for Windows 7, Windows RT and later); OpenGL (for OS X, Linux, PlayStation 3, Wii U, PlayStation Vita, iOS, Android); Stage 3D (for Adobe Flash Player 11 and later); and JavaScript/WebGL (for HTML5). <<

You are right that CryEngine doesn't use OpenGL it seems, but at least they are pretty close with PSGL and they also seem to be working on Linux support.


Crytek apparently read your comment ;) and an hour later announced official support for Linux.

http://venturebeat.com/2014/03/11/steamos-gets-a-powerful-ne...


PSGL is barely OpenGL, it is OpenGL ES 1.0 with Cg for shaders.

Not much that code is portable across the respective OpenGL flavors.


Wikipedia is wrong about the usage of OpenGL on consoles.


Crytek uses libGCM on PS3, not PSGL.


PS3/PS4 commercial games do not use OpenGL and never have. This myth needs to die.

http://scalibq.wordpress.com/2010/05/15/sony%E2%80%99s-plays...


Somehow the FOSS crowd seems to propagate this myth that only Microsoft has vendor specific graphics APIs and the rest of the world runs on OpenGL.

Never understood how it got born.


It was probably born out of the fact that this is the truth for PC gaming, where Microsoft uses DirectX and "all" the other platforms use OpenGL.

For a long time, console game development was obscure and unaccessible (and to a large extent, this is still the case), so aspiring game developers had somewhat of a tunnel vision when it came to game platforms.


> It was probably born out of the fact that this is the truth for PC gaming, where Microsoft uses DirectX and "all" the other platforms use OpenGL.

Except Acorn, Atari, Amiga, Mac OS (<= 9) never had real OpenGL support as well.


Right, but we're talking about 3D hardware APIs, which didn't really exist in a large scale until the late 90's/early 2000's.


You mean like Warp3D (Amiga) and QuickDraw3D (Apple) ?


But then add Glide (DOS), please. :-)


I remember playing Screamer 2 with that. I think my brother still has his 3dfx cards lying around (Voodoo Dragon, Banshee etc.)

Happy times. The music in Screamer 1 was better though, more noodly guitar music in the style of Satriani.


I left it out on purpose, because DOS was a Microsoft platform as well.


> I left it out on purpose, because DOS was a Microsoft platform as well.

MS-DOS was a Microsoft platform, but not DOS itself:

> http://en.wikipedia.org/wiki/DR-DOS

Also Glide was not a Microsoft API.


I just wrote DOS as I always abbreviated MS-DOS as DOS.

DR-DOS actually came with the first PC I bought and it was for all effects a MS-DOS clone, hence a DOS clone, like PC-DOS from IBM and a few others on those days.


> DR-DOS actually came with the first PC I bought and it was for all effects a MS-DOS clone, hence a DOS clone, like PC-DOS from IBM and a few others on those days.

Under this argumentation GNU/Linux or even OS X is a UNIX clone and both should be abbreviated to UNIX (or UN*X to avoid trademark violations ;-) ). Indeed both originate from UNIX clones - but then new features were added that made them better than the original in a sense. The same happened to DR-DOS. Read DR-DOS' wikipedia article to read about features that DR-DOS added over Microsoft's original.


Did you failed to read I was a DR-DOS user?

I use computers since the early 80's.


I was a DR-DOS user, too (Novell DOS 7).


But I believe Glide wasn't a Microsoft API, so the example is still fine to defend your case.


I said large scale, not very many people had the accelerators required to use these APIs. Glide is perhaps the first real example to hit a scale that mattered.


yeah, the one time i tried to use psgl as a time saver it was a lesson in how broken, unmaintained and poorly documented it was...

i'm pretty sure it would have worked at some point because the docs indicated that it had. however - writing a gl like layer over the top of the rsx stuff is not a particular challenge - the functionality maps extremely well.


"the advantage of a console: hardware is fixed". YEP! Why use an abstraction layer when you can just code to the metal.


Time? Do you write all your applications in assembly?


Many games run on multiple consoles.


Still a pretty small number (2-8 max?) compared to all of the PC configurations you have to worry about in DX and OpenGL land.


Not DirectX only per se but DirectX first and OpenGL later.

I think a lot of games featured in Humble Bundles used to be that way. A lot of games used to be (and some still are) initially only released on Windows with Mac/Linux ports released later.


Unreal actually implement both, so it doesn't matter which one is available they can still run.


I have rolled several of my own DirectX-only engines, so I'm guessing that no, most people probably do not.

I always wrote them so that all DirectX and Windows specific code was abstracted behind platform-agnostic generic interfaces. So, in theory, OpenGL support would be as simple as coding an OpenGL implementation of my generic graphics API. Probably a day or two's work, but I haven't had a compelling reason to do the OpenGL implementation yet.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: