Post a Comment
Would be nice if it actually worked well, but the possible performance loss from moving from optimized DX9 code to unoptimized machine generated opengl code would mean even more people would think opengl sucks
Would be cool to play Half Life 2 opengl though, hehe.
Browser: Links (0.99; Linux 2.6.13 i686; 95x35)
Half-Life 2 already runs on OpenGL:
http://transgaming.org/gamesdb/games/view.mhtml?game_id=3189
...and this is not native supported OpenGL, but actually a runtime emulation of Direct3D using OpenGL! So you see, this already has been done before.
What ATI provides is only about the used hardware shaders. And wether you use HLSL or GLSL you have high similarities in your code. There are some basic functions and most times there are not that many possibilites how they could be designed, so they are basically the same. So the "optimized" code should stay optimized within the conversion.
This strikes me as particularly hilarious since ATI does not yet have an OpenGL driver available for Windows Vista -- the past three releases (albeit it /was/ only a Beta OS) have lacked OGL, sadly.
However, if this gets more games on to Linux or Mac, hey, more power to 'em. But I'll agree with situation: Unoptimized code that's been converted is bound to not run particularly well at all.
//The OpenGL calls get converted to DirectX calls on-the-fly.//
This code is apparently the other way around, "DirectX 9 Application Programming Interface to OpenGL".
Hmmmm, it is "an open source application".
Hello Wine, goodbye Cedega, is about the only comment that comes to mind.
HLSL2GLSL is a developer tool, and is not similar to GLDirect or Cedega in any way, as it does no runtime conversion. It is merely for converting existing shaders, so it means nothing to an end user.
I'd also bank on there being very little, if any performance difference from conversion, since highly vectorized GPU routines are limited in scope compared to code from less specialized API's.
Edited 2006-11-11 00:21
Actually Doom 3 used OpenGL for the rendering engine on Windows as well.... the only difference was that Linux used SDL for input and sound (i think) whereas Doom3 on windows used DirectInput and DirectAudio..... The render was still OpenGL....
Just thought I would correct you on that.
HLSL2GLSL does not convert DirectX to OpenGL. It converts GPU programs (e.g. pixel and vertex shaders) from HLSL (high-level shader language) to GLSL (GL shader language).
You'll still have to write an entire rendering framework and 3D engine in OpenGL. If that engine is written to use pixel and vertex shaders then you can save some time from taking some HLSL shaders and converting them.
HLSL, GLSL, and CG (nVidia's shader language) are so extremely similar to one another that converting between them is trivial, even if you do it by hand. HLSL2GLSL is nothing extraordinary and it's no panacea for porting DirectX games to OpenGL.
... which was emulating DirectX 8 gfx API calls thru OpenGL.
http://www.realtech-vr.com/directx/index.html
Yes, and it's been opened some years ago:
http://sourceforge.net/projects/dxglwrap






