Discussion: Usage of D3DX in 4k intros

category: general [glöplog]
for me it's 2 arguments. on one hand, the rules havent changed - clean latest windows+servicepacks, latest directx RELEASED ENDUSER runtimes, latest drivers. that d3dx is included in that now doesnt mean any change in the rules.

but the 2nd argument is more like a philosophical one for me.
directx and opengl themselves have a point - you'd never get (compatible) use of 3d hw in 4k without it. supporting the latest version has a point, because it's incredibly annoying to have to use some old (and bugged or not supporting some hw feature) version of the runtimes just to fit the compo rules.

d3dx, gm.dls (and reasonable sounding general midi music because of it), sapi, glu, acm and all the other fun dlls we can use in 4k are more like "tricks", it makes the 4k compo become more about "how much of windows do you know about". they arent required to make a decent windows 4k.
i'd love to see a 4k compo where the only dlls allowed are d3d9, opengl32, winmm, user32, kernel32 and gdi32. =) lets see what happens when everyone _has_ to make softsynths instead of midi music to get any sound, etc etc. =)

added on the 2006-01-11 18:32:01 by smash smash
Smash: It's not like limited hardware compos aren't about "How much do you know about hardware"... would you forbid A500 demos to use the copper just because "you'd love to see people using raw computing power"?
added on the 2006-01-11 18:36:10 by Gargaj Gargaj
gargaj: thats a pisspoor argument, the equivalent to using the copper on the a500 would surely be using ps/vs on pc, not some dlls. =)
added on the 2006-01-11 18:38:56 by smash smash
It's same in the sense of that it's an opportunity given on the platform. If, as you said, the "platform" is defined by "the latest sane setup" and that includes the latest DirectX and drivers, then D3DX_*.dll's are as much as an integral part of the platform as any of the other Windows DLL's.
added on the 2006-01-11 18:51:48 by Gargaj Gargaj
Think of it this way - if the December 2005 End-User runtime would contain a bugfix or a feature enable that's fruitious considering intros or even demos, there would be no debate and everyone would install it without question.
added on the 2006-01-11 18:58:06 by Gargaj Gargaj
i would advice all those d3dx haters to put their energy towards Microsoft COZ THEY ADDED IT TO THE ENDUSER RUNTIME and thus the BP lads do nothing wrong as they just simply want the lastest runtimes for everyone's benefit, not just for the 'omg, i need d3dx for my 4k'-homos :P

maybe an idea would be that it has to be mentioned before the 4k gets shown, so ppl know beforehand that certain intros used tricks and they could take this info for their voting..?
added on the 2006-01-11 19:15:28 by Maali Maali
What are we going to do once opengl gets removed from windows?
added on the 2006-01-11 19:18:23 by _-_-__ _-_-__
Knos: celebrate? :D
added on the 2006-01-11 19:54:01 by Gargaj Gargaj
or resort to software rendering!
added on the 2006-01-11 20:16:31 by Maali Maali
we're gonna dance till the sun comes up
added on the 2006-01-11 20:29:43 by NeARAZ NeARAZ
d3dx or not, 4k dudes on the windows platform are fuckin cheaters, i can run 10% of the 4k intros, for the rest i have to run a 8k or bigger compatible version of it and then its for me not a 4k intro i watch.
added on the 2006-01-11 21:07:51 by Zplex Zplex
thumb up for d3dx. i won't comment technically, because now that breapoint allows it, the trend is set. eof.
added on the 2006-01-11 21:25:19 by makc makc
As of today, I don't see the mentioned DirectX Runtime in my Windows Update, and the other ones that I needed for the lastest parties were included in the this update.

As I wouldn't consider them direct hardware drivers, and are not included in a standard OS update, why adding them? Why aren't we adding GLUT to the compo machine, it has a end user Runtime!

My point, is that if it's not in standard "Windows Update" (and by that I mean automatic updates enabled in your control panel, or by updating manually through the Windows Update webpage), and it's not direct hardware drivers, it shouldn't be allowed.

And yes, I'm a openGL fanboy, and don't know for sure if it'll be added in the future (and I didn't even care to read too much about it in the ms forums/news), but I see this "let's update directx even further than what a standard os update is" a little strange.
added on the 2006-01-11 22:22:06 by shash shash
i also think that if d3dx is allowed then glut should be fair game as well. for whatever reason both seem like cheating to me, but if you allow one it only makes sense to allow the other.
added on the 2006-01-11 22:37:08 by blackpawn blackpawn
then again... something to consider is would mfc be allowed? d3dx is like the d3d equivalent to mfc with win32. i would expect mfc to not be allowed and therefore d3dx to be off limits, but breakpoint has set the precedent and there may be no going back.
added on the 2006-01-11 22:39:24 by blackpawn blackpawn
actually d3dx is more comparable to glu than to glut, and gl users already can use glu.

anyway, my version of "current windows system" includes not only a windows installation and more or less critical security updates (which is all that is distributed over windows update), but also (relatively) current drivers for everything and the current d3d end user runtime.

you are free to disagree, but for the breakpoint pc compos, i'm the one who makes the rules, and from the current response i'd say nobody feels terribly wronged by them.
added on the 2006-01-11 22:41:45 by ryg ryg
Afaik, breakpoint is the only party allowing it.
Just admit you made a mistake and voila, is that so hard ?

Or allow SDL too.
added on the 2006-01-11 22:50:29 by hitchhikr hitchhikr
SDL rulz.
added on the 2006-01-11 22:58:13 by bdk bdk
hitch: coz with previous big parties they were solely in the SDK and not enduser runtime? i assume more parties shall allow it from now on...
added on the 2006-01-11 23:00:50 by Maali Maali
Or just that the compo organizer uses d3d :)

Just joking, but if d3dx is allowed, glut would be rather nice, it's the same sort of "let's add whatever it's in some sort of end user pack and the user could need sometime". Or SDL for that matter.

Maybe it's only a personal point, but allowing something that maybe only 10% of the real world users will have, looks like severe cheating. But probably, it will get eventually to the standard updates, and we'll have to accept the rule.
added on the 2006-01-11 23:00:58 by shash shash
Maali:: you don't seem to understand, d3dx will not be a part of the standard windows distribution, that means it will not be present after a fresh installation of the latest available os.
added on the 2006-01-11 23:05:43 by hitchhikr hitchhikr
on d3dx:

first, we're not the only party; evoke 2005 allowed it too.

both GLUT and SDL are a completely different beast. those are cross-platform frameworks to get a window on the screen, get access to the framebuffer/gl/sound et cetera.

d3dx does none of those things. it has, among other things, routines to create transform matrices and implement a matrix stack (you get that for free in gl), functions to render strings with bitmap or extruded outline fonts (again for free in wgl), routines to tesselate primitives and tesselate bezier/n-patches (comes with glu), support for antialiased lines (again gl standard functionality) and sprite rendering.

it has a lot of stuff that is completely uninteresting for 4ks, such as various functions to load textures in various image formats from memory/disk, to load and save meshes, to compile assembler/hlsl shaders in text form, to link shaders together, to implement progressive meshes, to support skeletal animation (pretty useless for 4ks because it only works when you load data from the ascii-based .X mesh format and have everything pre-keyframed) and the again completely text-based effect/technique system.

finally there's some stuff that might be interesting for 4ks, such as the PRT (precomputed radiance transfer) functions, math functions you don't get with standard GL (quaternion/spline evaluation), and some helpers for rendering to textures/envmaps.

on balance, i do not think this is an unfair advantage.

on how the rules came to be:

our definition of software installed on the compo pc has always been "a clean windows machine with latest service packs, device drivers and d3d runtime installed". i think this is completely reasonable. before the dec 05 d3d runtime came out, it meant there was no d3dx on the compo machine, and the first two drafts of the compo rules included this. now dec 05 is the newest d3d enduser runtime and it includes d3dx, so you can use d3dx in your 4ks.
added on the 2006-01-11 23:13:17 by ryg ryg
ok, let's go technical too then...

adding to ryg's, d3dx allows (in an easy way) to use some "basic" functions that are accessed in opengl via glu/wgl, like outline fonts.

the first discussions about d3dx arose when it wasn't on the distributed runtime, but were used in 4ks because they offered (bounding) object generators. a nice feature for 64ks instead is the loading of png/jpg images.

hitch: quoting MS on the DX Runtime (December)

The DirectX end-user installation includes all the latest and previous released DirectX runtime. This includes the bi-monthly D3DX, XInput, and Managed DirectX components.

to sum up: it's here, and to stay. it can allow technically better 4ks and to some extent 64ks. probably some retraining needed for opengl coders like me, depending on what you want to do. so what?
added on the 2006-01-11 23:25:46 by makc makc
ops, MS link half-italian/half-english. sorry for not noticing that, but anyway relevant info is in english.
added on the 2006-01-11 23:27:13 by makc makc
ryg, what about 64ks,
it has a lot of stuff that is completely uninteresting for 4ks, such as various functions to load textures in various image formats from memory/disk, to load and save meshes, to compile assembler/hlsl shaders in text form, to link shaders together, to implement progressive meshes, to support skeletal animation (pretty useless for 4ks because it only works when you load data from the ascii-based .X mesh format and have everything pre-keyframed) and the again completely text-based effect/technique system.

but one could take advantage of that in 64k, will you have different compomachines for those, or d3dx is allowed for 64k ? ( which obviously leads to even more cheating abuse )
added on the 2006-01-11 23:29:38 by apricot apricot