*
* *
*
scene.org
Log in:
login for 1 year
No account? register here

Scene.org is hosted and supported by:
Scene.org is sponsored by:
* forum - #coders

*
Topic:  Death of OpenGL in 4k demos...
* Posted by auld Thursday 3 November 2005 - 9:41 
The 4k winner at Breakpoint this year clearly uses shaders. The shaders are from D3d (check the dlls used). OK so what? OpenGL 2.0 has shaders too right?

Yes but the shaders in Opengl are held in the form of strings up until the program runs...just in time compilation if you like. Whereas DX shaders are precompiled and linked.

So given source code->compressed is bigger than source code -> compiled -> packed, I conclude that D3D now has a very clear winning edge over OGL for 4k demos.

Comments?

* Posted by jaw Thursday 3 November 2005 - 13:41 
I've only worked with GLSL, but Isn't there an assembly-like language that can be expressed as bytecode for OpenGL?

* Posted by NeARAZ Thursday 3 November 2005 - 19:27 
AFAIK, asm is pre-GLSL extensions only. With GLSL, there is no intermediate assembly.

* Posted by René Madenmann Friday 4 November 2005 - 23:06 
The 4k winner at Breakpoint this year [...] uses d3dx. Since the d3dx9_??.dll won't make it into the normal DirectX (it didn't looked that way in february/march) there'll be a rule change in 2006. the Ultimate Meeting forbids d3dx already for 4k (the dll counts in your size which makes it nearly unpossible to use).

So there won't be a soon "Death of OpenGL in 4k demos..."

* Posted by hitchhikr Saturday 5 November 2005 - 0:40 

he 4k winner at Breakpoint this year [...] uses d3dx.


As far as i can recall there's at least 3 shaders in parsec (or maybe i'm wrong).


Since the d3dx9_??.dll won't make it into the normal DirectX (it didn't looked that way in february/march) there'll be a rule change in 2006. the Ultimate Meeting forbids d3dx already for 4k (the dll counts in your size which makes it nearly unpossible to use).


Nearly ?


So there won't be a soon "Death of OpenGL in 4k demos..."


Actually "asm" shaders have a definite advantage over high language level ones, namely: better compression ratio, i'll go for directx if i was about to do a 4k intro for eg. TUM, that's for sure.

* Posted by smash Monday 7 November 2005 - 16:39 
madenmann: the presence or not of d3dx is irrelevent to compiled shaders, as they are loaded using the regular d3d api.

* Posted by auld Monday 7 November 2005 - 17:52 
OK so thats my point..d3d supports compiled shaders and OGL does not.

I've tested compiled->compressed v source compressed and the first always wins even after "munging" the source code (single letter variables, white space removed etc).

Conclusion: d3d beats OGL.

* Posted by bzz Monday 7 November 2005 - 23:13 
hmm..
imo d3d and ogl is on the same level.
And just saying that if you have shaders in your 4k it will rock is pure bullshit, some of the best 4k's doesnt even go beyond OpenGL 1.0 ;)

* Posted by Hatikvah Tuesday 8 November 2005 - 7:29 
We are not discussing OGL vs D3D but youre wrong anyways, they are at completly different levels from all views.

However, the topic is about GLSL vs HLSL vs Bytecode.

Personally i enjoy the GLSL idea much better, letting the driver optimize the shadercode directly is alot better than letting them trying to figure out what the bytecode does and then trying to optimize that - often lacking alot of info.

In 4ks I can only see this as a problem, but if we should be honest, I think we will have to start re-think all this 4k/64k limits in the future anyways, or remain in the past (wich 4ks already does in most ways).

In the "futurah" I cannot see any good API design fitting in a 4k, atleast not as I would want them :-)

* Posted by auld Tuesday 14 November 2006 - 21:48 
Buzzie,

Got to disagree with you in every way. I lurv opengl but look at the recent 4ks by eg loonies and fairlight using DX. Shaders are the thing now and DX doesnt need extension importing to get to them. Further D3DX is used for ambient occlusion and for subdivision meshes and OGL has none of these things.

OGL may not be dead but damn you are making life hard for yourself to compete at 4k in OGL. I'm not saying it cant be done, but the odds are in D3Ds favour. Strongly.

* Posted by inSpirAcy Tuesday 21 November 2006 - 21:55 
Can't say I've tried it yet, but Cg has a CG_OBJECT parameter to cgCreateProgram which lets you supply compiled shaders. Quite what compiles them I'm not sure, perhaps cgc has some such output?

Anyway, Cg clearly isn't going to work for 4K. But my understanding is Cg is built on nothing more than OpenGL library calls, so there must be a way to shunt compiled shaders to OGL no? Some disassembling, anyone? ;)

* Posted by inSpirAcy Friday 24 November 2006 - 14:21 
Just following this up, a colleague doing an internship with NVIDIA (UK) asked about binary GLSL and the developers said that there isn't an interface for this. I guess CG_OBJECT just lets you pass in text assembly, which would almost certainly compress worse.

Ah well...

* Posted by iq Wednesday 10 January 2007 - 13:09 
You can do subdivision surfaces in 4k, even if you use OpenGL. You can also add ambient occlusion at the same time, in OpenGL. And in 4k. You can even subdivide Marilyn Monroe and then apply AO in a opengl based 4k.

But indeed, may be with D3D9_??.dll you can fit these same things in 3k instead of 4k...

Anyway, OpenGL 3.0 is just almost here, so we'll see how the new API affects 4k intros size.

* Posted by hornet Wednesday 17 January 2007 - 13:13 
I lurv opengl but look at the recent 4ks by eg loonies and fairlight using DX.
actually, fallty by loonies is using gl/glsl, not dx... so there.

[Post edited by hornet on Wednesday 17 January 2007 - 13:14]


*