Jump to content

  • Log In with Google      Sign In   
  • Create Account

We're offering banner ads on our site from just $5!

1. Details HERE. 2. GDNet+ Subscriptions HERE. 3. Ad upload HERE.


Still possible to use directx 8?


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
12 replies to this topic

#1 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 23 October 2012 - 05:31 PM

I just want to use it for learning purposes. There is abook I want to get but unfortunately it is outdated and uses DX8.
Is it still possible to use DX8? If so how?

Sponsor:

#2 superman3275   Crossbones+   -  Reputation: 2061

Like
3Likes
Like

Posted 23 October 2012 - 06:23 PM

DirectX 9 is backwards compatible with DirectX 8, so it's completely possible. Just get directX 9 from the DirectX website and use it. You can progress to DirectX 9 later on if you would like. (That means everything you can do in DirectX 8 works with DirectX 9)

Edited by superman3275, 23 October 2012 - 06:25 PM.

I'm a game programmer and computer science ninja ph34r.png!

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

 

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here smile.png!


#3 Ravyne   GDNet+   -  Reputation: 8068

Like
0Likes
Like

Posted 23 October 2012 - 08:45 PM

It works that way for the runtime, but does it work that way for the SDK too? I honestly don't know the answer, but I'd be surprised to learn that the SDK itself is backwards compatible (in other words, that the June 2010 DrectX SDK includes interface definitions and associated bits to be able to program against all of the older versions.) Then again, maybe they did up to a point.

#4 ISDCaptain01   Members   -  Reputation: 1443

Like
0Likes
Like

Posted 23 October 2012 - 09:56 PM

It works that way for the runtime, but does it work that way for the SDK too? I honestly don't know the answer, but I'd be surprised to learn that the SDK itself is backwards compatible (in other words, that the June 2010 DrectX SDK includes interface definitions and associated bits to be able to program against all of the older versions.) Then again, maybe they did up to a point.


Yeah ive been wondering that too. in the meantime i found this:
http://www.oldversion.com/DirectX.html

#5 NightCreature83   Crossbones+   -  Reputation: 3030

Like
0Likes
Like

Posted 24 October 2012 - 01:42 AM

It works that way for the runtime, but does it work that way for the SDK too? I honestly don't know the answer, but I'd be surprised to learn that the SDK itself is backwards compatible (in other words, that the June 2010 DrectX SDK includes interface definitions and associated bits to be able to program against all of the older versions.) Then again, maybe they did up to a point.

If you install the latest SDK from msdn you will only be able to access the C++ API bindings for DX 9.0c, 10 and 11. You need to find an old DX8 SDK installer somewhere if they are still arround on the web somewhere.
Starting with DX8 is a bad idea, 9 completely redesigned the API and this happened again for 10 and 11, although 11 is very similar to 10 this is just a minor change.

I would suggest you start with learning DX11 instead as that will be the most future proof to learn DX programming from.

Edited by NightCreature83, 24 October 2012 - 01:46 AM.

Worked on titles: CMR:DiRT2, DiRT 3, DiRT: Showdown, GRID 2, Mad Max

#6 Nik02   Crossbones+   -  Reputation: 2915

Like
3Likes
Like

Posted 24 October 2012 - 03:38 AM

D3D8 is actually very similar to D3D9 - the major changes between them largely consist of improved shader models.

D3D8 would be viable over D3D9 if you would target Windows 98 and ME, but you really don't want to do that nowadays.

If you have D3D8 sample code, it is very easy to convert it to 9. Of course, copy/paste strategy does not work, but one should avoid that anyway.

That said, though, I also recommend using the newest possible version if your target platform allows it. D3D11 (and 11.1) are much cleaner, more flexible and easier to use (in the long run) than the old versions.

Niko Suni


#7 CdrTomalak   Members   -  Reputation: 272

Like
0Likes
Like

Posted 24 October 2012 - 06:20 AM

Reading this I'm just curious what language you'll be using? C++? C#?

The reason I ask is I have been learning C# and SlimDX and tried to go via DX9 just so I could match up with the book I was learning from. In the end, I regretted it. The overhead associated with using dated technology might not seem that great at the start - but it's significant in my opinion. I have been using a DX11 book based on C++, even though I'm using C# - but the book has still been extremely useful.

If you're using C# and XNA then I'd say don't bother with DX8 at all, as wouldn't you want to know DX9 anyway?

So go straight for DX11 in my view. It will be worth it in the long-run.

#8 kunos   Crossbones+   -  Reputation: 2207

Like
1Likes
Like

Posted 24 October 2012 - 06:26 AM

it's also important to note that DX8 is not representative anymore of modern GPU rendering techniques. I doubt the book you have goes for a "shader only" approach, in those days shaders were quite an exotic addition. So you'll find yourself facing a huge API with lots of states to set, a major departure for the modern graphics API all streamlined to support data forwarding from user code and shaders.
Stefano Casillo
Lead Programmer
TWITTER: @KunosStefano
AssettoCorsa - netKar PRO - Kunos Simulazioni

#9 mhagain   Crossbones+   -  Reputation: 8275

Like
3Likes
Like

Posted 24 October 2012 - 08:55 AM

D3D8 and 9 are really incredibly similar, yes, with the main differences being needing to use "9" instead of "8" on all your interface types, an extra param on Create calls, and the splitting off of SamplerState from TextureStageState (some weirdness in SetStreamSource and SetIndices also springs to memory, and some of the Device creation params need to be different too).

That's assuming that we're talking fixed pipeline, of course. The shading models are quite different.

I'll echo the sentiment that starting with D3D8 is a really really really bad idea. The stuff you'll be learning will have very little relevance to any modern API, and being a lower version number doesn't necessarily make it simpler (it's not).

Strong advice from here to hold out until you can find some material for 9, or - better yet - 11. Alternatively go for OpenGL, using the ArcSynthesis tutorials http://www.arcsynthesis.org/gltut/

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#10 kseh   Crossbones+   -  Reputation: 2197

Like
3Likes
Like

Posted 24 October 2012 - 11:49 AM

I'm currently using DX7 to develop my projects so it's possible but I don't recommend it. I'm missing out on being able to make use of functionality that's pretty standard and simple these days. And it's not like I'll be a great asset on projects using something more modern. The only reason I continue to use it is due to the limitations of my development machine.

#11 mhagain   Crossbones+   -  Reputation: 8275

Like
1Likes
Like

Posted 24 October 2012 - 12:05 PM

I'm missing out on being able to make use of functionality that's pretty standard and simple these days.


+1 for this; it's a very key point. Sticking with the fixed pipeline will just put brick walls in front of you and horribly restrain you any time you want to do anything beyond the pre-canned blending modes. D3D8 does have shaders, but they're woefully primitive and not being able to rely on basic stuff like e.g. dependent texture reads is really constraining. It is possible to hack something together with some creative use of the bumpenvmap stuff, but that's also horrible to use and quite restrictive.

The best way to view 8 is as a short-lived interim version between 7 and 9 (just like the early shading models were interim between fixed pipeline and SM2/3), but if you're starting out new you no doubt have ambitions and ideas for cool things you'd like to do, and 8 is just going to depress and disappoint you in that regard.

That doesn't make it bad - it was awesome in it's time and especially compared to what went before, but it was of it's time and that time is long passed.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.


#12 6677   Members   -  Reputation: 1058

Like
0Likes
Like

Posted 25 October 2012 - 01:33 PM

The only reason I continue to use it is due to the limitations of my development machine.

Jesus christ, how old is your development machine. My laptop is 4 years old with an incredibly crummy (and old at the time) intel integrated GPU and still happily chugs along with directx 9 (bar generally low framerate) and Dx10 in software drawing mode. 11 it doesn't like.

#13 mhagain   Crossbones+   -  Reputation: 8275

Like
0Likes
Like

Posted 26 October 2012 - 02:48 PM


The only reason I continue to use it is due to the limitations of my development machine.

Jesus christ, how old is your development machine. My laptop is 4 years old with an incredibly crummy (and old at the time) intel integrated GPU and still happily chugs along with directx 9 (bar generally low framerate) and Dx10 in software drawing mode. 11 it doesn't like.


I used 9 on a late 2005/early 2006 vintage laptop once; did a lot of development on it and generally had a good(ish) time. It had Intel 915 graphics, SM2 capability (but with the VS stage emulated in software - no big deal for that particular machine) and I was quite impressed by how capable the machine actually was given it's specs and age (I eventually ended up giving it to a friend for her college work and it finally died earlier this year; quite a good innings and huge value for money).

For the kind of more limited program you'd write on that class of machine, and which you would be restricted to with 8 or below anyway, 9 is perfectly viable.

Here's the thing.

D3D9 is capable of running on, and will work perfectly well with, more downlevel hardware. Just detect the caps at startup and don't do anything that's not supported, and it will work.

It appears that the gentleman thought C++ was extremely difficult and he was overjoyed that the machine was absorbing it; he understood that good C++ is difficult but the best C++ is well-nigh unintelligible.





Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS