pouët.net

Discussion: Usage of D3DX in 4k intros

category: general [glöplog]
Let me quote too again:

Quote:

The D3DX DLL is not part of the 'OS components' that make up DirectX, it is
an optional component like XINPUT API, XACT's engine, the managed
assemblies, etc. Therefore, you cannot assume the correct D3DX DLL for your
application already exists on the machine. If you are distributing with
media, use the DirectX SDK "REDIST" and configure it for your target and
application needs (see the DirectX Documentation for C++ topic "Installing
DirectX with DirectSetup").

If you are dealing with an extremely size sensitive distribution, you can
point your users to the "DirectX End-User Runtime (December 2005) Web
Installer" on the Microsoft website, which will install every possible
optional component up through December 2005 along with making sure the OS
runtime is DirectX 9.0c or greater.

-- Chuck Walbourn SDE, Windows Gaming & Graphics


(This one was posted yesterday)
It's not here to stay, because it won't be included within windows.

Let there be more quotes:

Quote:

This download provides the DirectX end-user redistributable that developers can include with their product.


What does it mean to you ?
added on the 2006-01-11 23:32:21 by hitchhikr hitchhikr
Quote:
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

... unless you chuck a TGA header to your texture data and D3DXCreateTextureFromFileInMemory it -> e.g. free mipmaps.
added on the 2006-01-11 23:44:03 by Gargaj Gargaj
Quote:
a nice feature for 64ks instead is the loading of png/jpg images.

you don't need d3dx for that. just pack a BITMAPV5HEADER in front of it and you can process it with normal windows bitmap functions (since win98). or just use OleLoadPicture to load png/jpg images (jpg on any windows with internet explorer, png since ie 5.0). we did the latter since - ever. we never used libjpg or ijl to load images, not even back in 2000 ;)

fadeout:
Quote:
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)


the ascii stuff is still pretty uninteresting, and as for image loading, as said you can do that without d3dx (with only gdi32.dll) just as easily.

besides, i already said those are the compo machine specs. of course they are the same for all compos.

hitchhikr: i couldn't care less whether it will be a standard windows component 5 years from now. again, my definition of a standard windows pc is the same as it has been in the last 3 years, and that includes "the latest DirectX runtime". which right now happens to be december 05. if 1 year from now, the then-current dx runtime will not include d3dx, it's out. simple as that.

gargaj: which you also get via gluBuild2DMipmaps. so it's just fair to me ;)
added on the 2006-01-12 01:27:00 by ryg ryg
ryg: I know, I just wanted to point it out that it's not COMPLETELY uninteresting :)
added on the 2006-01-12 02:32:33 by Gargaj Gargaj
(which we actually did in Bassotron)
added on the 2006-01-12 02:35:08 by Gargaj Gargaj
ryg: ok, now I know what was missing to my DIB loading. will dig better the Platform SDK then ;D

hitchhikr:
Quote:
It's not here to stay, because it won't be included within windows.

If I had to format my pc today (Lord, please, NO) and reinstall WinXP I wouldn't have DX9 installed either.
So it's matter to decide if we consider the base install as 9c or the december version. Anyway, both of them have some version of d3dx, and indeed bp orgas signalled the versions that will be available.

The "here to stay" part of the post was about the fact that afaik MS doesen't want to remove the lib in future versions. Maybe you can tell me something I still don't know about this? I think it's the real point here.
added on the 2006-01-12 07:29:06 by makc makc
Quote:

I had to format my pc today (Lord, please, NO) and reinstall WinXP I wouldn't have DX9 installed either.


The currently distributed windows xp (sp2) provides dx9c.

Quote:

So it's matter to decide if we consider the base install as 9c or the december version. Anyway, both of them have some version of d3dx,


There's no d3dx in the standard install of direct 9c.
I don't think you can just upgrade to dx9 from dx8 with these end users runtimes but that's another problem.

Quote:

The "here to stay" part of the post was about the fact that afaik MS doesen't want to remove the lib in future versions.


d3dx won't be shipped with windows.

Quote:

hitchhikr: i couldn't care less whether it will be a standard windows component 5 years from now. again, my definition of a standard windows pc is the same as it has been in the last 3 years, and that includes "the latest DirectX runtime". which right now happens to be december 05. if 1 year from now, the then-current dx runtime will not include d3dx, it's out. simple as that.


This isn't exactly about your party alone but about the whole size limited stuff here. What if others parties don't follow the trend you're trying to push ?
The 4k intros released at yours will necessary look better than most because of this extra help which might just be considered as cheating.

Frankly, it looks to me that you're trying to compensate the lack of work/competency of some people with a cheap trick in an attempt to elevate the level of windows 4k intros (in particular) to something descent.
added on the 2006-01-12 11:50:39 by hitchhikr hitchhikr
makc: if you buy a windows package directX 9c will be on it, if it is old obviously yoo'll have to update and then you'll have it, about the subject here - NO you dont have the file

hitch: absolutely, I still dont get why Breakpoint allow this, but that's organizers decision. imho yeah it is _pure_ cheating. Which makes the situation even more strange about their decision. But I'm almost sure the answer will be in the next Breakpoint...
added on the 2006-01-12 12:05:54 by EviL EviL
Quote:
hitch: absolutely, I still dont get why Breakpoint allow this, but that's organizers decision. imho yeah it is _pure_ cheating. Which makes the situation even more strange about their decision. But I'm almost sure the answer will be in the next Breakpoint.


Iam completly on this track too. Someone, who compocrew know (about), has made an above-average production wich uses d3dx dll in a 4k. And they don't want to disqualify it.

I dont really see any other explanation (worthy) to allow it. Personally I dont give a fuck anyways, 4k compos are for lamers.
added on the 2006-01-12 12:24:21 by Hatikvah Hatikvah
scamp: Don't forget to sell some cookies and clues for stefan at the infodesk. Looks like he really needs them. ;)
Quote:
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..?


actually the compo would be way fairer, by forcing to show that information on the bigscreen!

Quote:
actually d3dx is more comparable to glu ...


yeah it's like an ferrari vs. an baby buggy.

1. the basecode with d3d is usually way smaller than with ogl, you don't have to call ChangeDisplaySettings and so on... And due to the COM interfaces you have very few imports, also shader init code and the shaders are smaller with d3d... (has nothing to do with d3dx actually, but it all comes together)

2. d3dx gives d3d coders an advantage that imho SHOULD be mentioned during the compo. you have mesh smooth/normal calc algorithmes, antialiased font output, other mesh stuff and whatever, tons of "cool" things...

3. opengl coders have a disadvantage due to large shader setup up and manually importing the extensions that are needed (there are other possibilities to do that, but they are more or less driver independend due to microsofts GREAT ogl support)...
...
added on the 2006-01-12 12:27:25 by las las
I agree usage of d3dx could be shows as part of the platform info on the compo slides.

evil: Earlier in this thread I wrote that compo main orga ryg already had finnished the rules that *forbid* usage of d3dx when a scener informed us that d3dx now is included in the latest end-user runtime. We then had an internal discussion that according to the guideline BP always used (explained by ryg above) we then should allow d3dx usage. It's that simple, and conspiracy theories are pretty off-base. If you think us main organizer words can't be trusted, then it might be a good idea not to come to Breakpoint. The whole party may just be a huge trap to fool you.

(Yes, I do take such assaults personally.)

Lator: And personally *I* don't give a fuck about YOU, lamer. :)
added on the 2006-01-12 13:11:28 by scamp scamp
bleh, this discussion is turning into "im against allowing d3dx cos i dont use it".
fuck ogl vs dx, ogl had an advantage for years thanks to the stuff built into wgl and the stuff in glu that relied on ogl. (some of glu you can of course use with d3d.), where as d3d provided only quite low level features in comparison.

the fact that is it's now included in the standard compomachine, the specs for which didnt change for 5 years or so. (latest windows + service pack, latest directx END USER runtimes, latest gfx drivers). if that means you have to port some stuff over to keep up, tough shit. =)

i still think it would be cool to have a 4k compo one day that disallows everything except a minimal dll set that lets you use hw accell, make a window, respond to keyboard and get basic sound output - i.e. no gm.dls, no glu, no d3dx, no nothing. imo if you want to classify any one of those as cheating, you should classify all of them as cheating, not pick and choose what suits you. but hey, that would be more of an "alternative" 4k compo.
added on the 2006-01-12 13:11:28 by smash smash
Quote:
you have mesh smooth/normal calc algorithmes, antialiased font output

gluTessCallback, wglFontOutline...
added on the 2006-01-12 13:11:41 by Gargaj Gargaj
smash: i have a full softsynth but i use d3dx, is that fair? :D
added on the 2006-01-12 13:14:54 by Gargaj Gargaj
Quote:
Someone, who compocrew know (about), has made an above-average production wich uses d3dx dll in a 4k. And they don't want to disqualify it.

If it's so, hooray, good compo!
added on the 2006-01-12 13:15:43 by Gargaj Gargaj
hitchhikr:

ok, i got my c\~/ :) i just hope you didn't get me wrong, i am discussing also to understand the thing better myself.
I am an opengl coder and not owning a very recent gfx card I am more careful about the 'baseline', and btw: I like myself my code to run smoothly on clean installs.


Otherwise, as las pointed out, dx has today an advantage in 4ks for other reasons aswell. Now the path is quite set: if you want to go technical, it's DX. So let them use DX to its full, given we can decide that our own "baseline" is the latest (december) runtime.

Btw, mentioning the use of d3dx during the compo is otherwise plain useless imho. Rules fixed, just know what to expect.
added on the 2006-01-12 13:27:07 by makc makc
scamp, youre always so off.

anyways, i dont see this "unfair to opengl/d3d coders" shit, its not like anyone forces you to use opengl or d3d or anything.

Its more about "what is a 4k" in a general overview, how much should we really "allow" outside of core win runtimes.
added on the 2006-01-12 13:41:17 by Hatikvah Hatikvah
Quote:
If it's so, hooray, good compo!


Prolly? I dont know, 4k compo tend to be so early scheduled so I always miss it. =)
added on the 2006-01-12 13:42:05 by Hatikvah Hatikvah
I'd say using fancy dlls, system files, and all the other shit that composes the roughly one gigabyte of stuff you get with a standard Windows/latest DirectX install is part of the fun of writing 4k/64k intros, just like size-optimizing the code and data is. Why shouldn't you be allowed to use one of the default screen backgrounds that comes with Windows? (OK, it might be quite challenging to do something artistically pleasing with that)
If you are unhappy with a platform that provides plenty of dlls/files/junk, just code on something else.
added on the 2006-01-12 14:33:01 by minas minas

login