I'm wondering how everyone is finding DirectX9 so far, is it easy to work with, how are the shaders, is it worth upgrading if you have an older (or ancient) video card? And has anyone used it yet with any language apart from C++ and VB? (Like C# etc?)
I personally haven't used it, and am reserved about downloading and installing it.
Daemin, you should already know what happens when you take an ancient video card and run DX-9 on it, I lost 3000+ 3D Marks when I 'upgraded' to DX-9, instead of DX-8.
Of course, there are other factors. Old operating system, new card etc etc....anyone else had this happen to 'em?
Snootchie bootchies!
Any off-topic issues send to maitrek@austarmetro.com.au
Maitrek: Yeha, well I thought this would be a nice topic to get the programming thread up and running actively :-P
So far it looks like I'll still be using DirectX8.1 for all my things until I get a better computer.
From what I have read through it seems that DirectX7 has made a comeback with its directdraw component, for all the people still wishing to make 2D games easily. I doubt anyone here's used this feature so far.
The way i hear it, using directdraw for 2D games is a bit easier, but it's much slower on accelerated hardware than using 3D quads, because gfx cards these days are optimised for drawing polygons rather than blocks of screen space... So depending on if there was anything really fancy you wanted to do, using directdraw would be fine.
CYer, Blitz
Ive noticed some good changes already going from 8.1 to 9.
Im not sure about performance but code wise theres alot of better support.
They've added some great support to DirectShow with VMR filters where u can use pixel shaders on videos, and the speed of playback + loading both for audio and video.
Im writting a few tutorials for DirectShow+Music atm if anyone wanted to play around with these new feaures.
I don't see how you could possibly make fast enough software shaders anyway, so I doubt they spent hundreds of man hours trying to figure out a decent way of implementing them. Plus even if they did have software shaders, it's unlikely they'd be able to use what your old hardware can do + software shaders anyway.
Snootchie bootchies!
Any off-topic issues send to maitrek@austarmetro.com.au
quote:Originally posted by Blitz
Something i've wondered, and been to lazy to really look for, is whether DX9 implements vertex and pixel shaders in software if they are not available on the hardware? Anyone know? It's difficult to program shaders if you can't afford a gfx card that can run them hehe.
CYer, Blitz
Vertex shaders can be emulated on the CPU quite efficiently (sometimes better then the GPU), although pixel shaders cannot. The reference rasteriser emulates *everything*, even pixel shaders - but will run slow as hell if you try. So you can forget pixel shaders untill you get a card that support them. Vertex shaders are still quite powerfull and fun, and if you are running them in software you can use any version including vs_*_sw (no limits!).
Oh, and learn HLSL too. Although it's still rather young, the compiler can produce some very nice code.
--redwyre
I've been playing around with Vertex Shaders a bit lately. Pretty damn kewl. I could probably quite easilly rewrite my Worms In Tanks' heightfield to use vertex shaders instead of locking/unlocking vertex buffers, and even then that's really only using them in a simple way. Simple = taking control of transforming the vertices using the normal matrices, complex = taking alot of the strain off the CPU and memory transfer by doing as much as possible in VS.
Haven't really looked at HLSL, will probably look at it sometime soon though.
Ethan Watson, teh brand spankin' new Krome employee.
quote:Originally posted by GooberMan
I've been playing around with Vertex Shaders a bit lately. Pretty damn kewl. I could probably quite easilly rewrite my Worms In Tanks' heightfield to use vertex shaders instead of locking/unlocking vertex buffers, and even then that's really only using them in a simple way. Simple = taking control of transforming the vertices using the normal matrices, complex = taking alot of the strain off the CPU and memory transfer by doing as much as possible in VS.
Yeah, but then you loose the ability to deform it, since you can't re-generate the normals.
--redwyre
I'm going to make a revision to my statement above, directx 9.0 sucks unless you have a GeForce FX, or a Radeon 9500/600/700/800 (ie pixel shader 2.0). This is performance-wise speaking as a gamer/consumer, as a programmer yet to really find out whether I think DirectX 9 is any good.
Snootchie bootchies!
Any off-topic issues send to maitrek@austarmetro.com.au
quote:Originally posted by Maitrek
I'm going to make a revision to my statement above, directx 9.0 sucks unless you have a GeForce FX, or a Radeon 9500/600/700/800 (ie pixel shader 2.0). This is performance-wise speaking as a gamer/consumer, as a programmer yet to really find out whether I think DirectX 9 is any good.
I totally disagree. I've only seen perfomance increases or no change (gf4mx). The API hasn't changed much, mainly just a few aditions and refinements.
--redwyre
I lost about 2.5K 3DMarks in 3DMark2001 when I "upgraded" from 8.1 to 9.0 on my Athlon XP 2100+ with a GF4 Ti4600...now that's a performance loss on a benchmark, so who knows what it means gaming wise, I'll find out when I actually get to play some games someday soon :)
Snootchie bootchies!
Any off-topic issues send to maitrek@austarmetro.com.au
Okay for the sake of the "3DMark2001" is fairly old....for starters 3DMark2002 doesn't exist, and 3DMark2003 only runs on DX9 - so you can't compare the loss of performance between DX9 and DX8.1 with 3DMark2003...
And also, yes I realise they always make the latest 3DMark software very harsh in terms of marks and framerates because GPUs and CPUs are getting fast at an extreme rate so you'll probably see scores of like 9000-10000 by the end of the year anyway.
My opinion, only get DX9 if you have a card which supports pixelshader 2.0 or above. If you have pixelshader 1.x DirectX8.1 will run faster, and if you don't have any pixelshading capabilities on your graphics card, buy a new video card if you need to play the latest games.
Snootchie bootchies!
Any off-topic issues send to maitrek@austarmetro.com.au
quote:Originally posted by Maitrek
And also, yes I realise they always make the latest 3DMark software very harsh in terms of marks and framerates because GPUs and CPUs are getting fast at an extreme rate so you'll probably see scores of like 9000-10000 by the end of the year anyway.
Perhaps they should have called it 3DMark 2004? :P
Ethan Watson
Current job: Programmer, Krome Studios
Funny story
I had a clean install of my system with only DirectX 9 ever installed on it - no previous versions etc etc and I got a result of 8500 or so 3DMarks in 3DMark2001.
Scrapped that due to crappy performance levels, then reinstalled the whole system again exactly the same and instead of DX9, I installed DirctX8.1 - and I got 11500 again. All good.
Then I installed DirectX9 again over the top of DX8.1 because I wanted to run 3DMark2003, and now in 3DMark2001 - I got scores of approximately 11500 once more with that setup
Wierd as...
My answer to this problem - NFI.
Snootchie bootchies!
Any off-topic issues send to maitrek@austarmetro.com.au
Hey Daemin,
Thanks for that its great to hear that there is more than just one game coder here in Adelaide - its a pity that there arent more developers here hey. I have almost finished the DirectX download I thought that I should get off my lazy ass and learn some DirectX as it has been awhile and I feel that my OpenGL skills arent too bad at the moment. Wondering how your ???? (was it the Auran engine) engine work is going it would be quite interesting to hear - perhaps could chat over ICQ some time.
I ported all my code to DirectX 9. It seems to run a little bit faster. I haven't looked at the shaders at all, but the code changes to get your program working under DirectX 9 are minimal. Take a look at this article I wrote to see what I encountered moving from DX8.1 to DX9: http://groups.msn.com/BrisbaneGameDev/migratingfromdirectx8.msnw
Ethan Watson, teh brand spankin' new Krome employee.