Get the daily SC news wire!

Starcraft II, Shaders and DirectX 10

Posted 23rd Sep 2008 03:08 PM by Kalos

Kalos’ Chronicles >> Starcraft II, Shaders and DirectX 10 >> (Page 1) | (Page 2) | (Page 3)

Shaders.jpg

Multiple Pixel Shader models

Leading on from the last page, some developers have structured their games in a highly flexible manner, allowing the player to run the game with inferior visual rendering effects, and those with higher-end machines can enable more intensive and complicated shader effects to enhance the game’s visuals. I wish to draw attention to Ubisoft’s Splinter Cell: Chaos Theory as a particular example of a game where this has been accomplished successfully.

Obviously I am referring to the PC version of the game, and have found a particular video on the site where IncGamers staff like to spend their free time devouring random videos in order to avoid the dangers of overworking and such on, as they have convinced me; Youtube. [Editor’s note: Bollocks!]

The following video is provided to help illustrate the effects and differences resulting from the two Pixel Shader versions used. It isn’t the clearest video to use, but it should help to elevate this topic beyond dry abstract reading as Pixel Shaders are hardly fun or easy things to conceptualise and understand the end results of. This is a comparison video between Pixel Shader Versions 1.1 against 3.0 demonstrated. The difference is much more prevalent in the actual game, but try looking at shadows, glass, and water for differences.

True I may have chosen the video more for the use of music, particularly the second track if one cares to ask, but the comparison can be more apparent in a moving images. Chaos Theory is probably one of the better games to make an example from, rarely is such a difference of settings possible due to the difficulty in dividing up the effects and separating what needs the shaders from what simply looks better (but will still function and look well enough without the higher rendering model being deployed).


StarCraft II: Multiple Pixel Shader models and DirectX 10

As of this stage StarCraft II may, but it is unlikely, to include DirectX 10 in any major way. If they are going to go ahead with a DirectX 10 mode in any serious fashion then they’ll be able to use Shader Model 4.0 effects in StarCraft II which has obvious advantages but is only available to a very limited audience and would not be a primary concern for Blizzard who appear to place high value on access and scalability (if our discovered tech paper is anything to go by).

We are not ruling DirectX 10 out, but it seems unlikely to be anything more than a gimmick if it is included. Previous attempts to kit bash DirectX 10 effects and features onto an engine primarily developed natively to DirectX 9 have resulted in poor performance yields for the additions due to the inefficiency of the different APIs. If you have Vista/DirectX 10 as the basis, DirectX 9 compatibility is done through a degree of emulation rather than more direct API operations. Just like using a DX9 native programming with DX10 features would suffer from inefficiency, so would a DX10 native programming with DX9 mode also see a loss of gaming performance. Stacking DX9 and DX10 may seem natural, but it won’t be an influential or game changing factor, so sticking it on in the last twelve months of development as an afterthought is hardly the best thing they can do with the game.

As promised far above in paragraphs beyond, now is the time to summon up DirectX 9.0C. StarCraft 2 utilises Shader Model 2.0, which is plain old 9.0 basically. But if that is the case, they have plenty of room for expansion of the graphical capabilities by taking it to the end of DX 9’s reach by allowing users seeking graphical galore and optical electrification sensations to simply exploit 9.0C and Shader Model 3.0. Of course this has one draw back, many consumers won’t understand this, and simply see the game as lacking a DX 10 mode, not understanding that there are no true DirectX 10 games out just DirectX 9 games with extensions whacked on, like conservatories onto houses. That’s marketing for you though.


Final thoughts on how DirectX 10 will work with StarCraft II together with an analyse on what graphics cards are capable/not capable of withstanding the pressure can be found on Page 3.




 <  1 2 3 >

Comments

You must be registered and logged in to post comments.
Page 1 of 1 pages
BarneyBear
Posted 29, Sep 2008 01:12 PM
(0)
 

Right, this might be a bit late for a comment but I’ll give it a go.

An interesting article I must say, but one thing you might have overlooked (you didn’t seem to mention it in the article) is that all Blizzard games (including those under development) run both on OS X and Windows. In other words; the engine has to be able to render in both OpenGL and DirectX. That said, I have limited experience in programming with either of those two APIs but I’m fairly sure there’s at least a slight difference. I know OpenGL 2.0 is supposed to feature broadly the same functions as DirectX 10, however I’m guessing that this also is a limiting factor as to what shader models are being used.

Anyway, thanks for a well written and interesting article!

Reply
 
BarneyBear
Posted 29, Sep 2008 01:12 PM
(0)
 

Right, this might be a bit late for a comment but I’ll give it a go.

An interesting article I must say, but one thing you might have overlooked (you didn’t seem to mention it in the article) is that all Blizzard games (including those under development) run both on OS X and Windows. In other words; the engine has to be able to render in both OpenGL and DirectX. That said, I have limited experience in programming with either of those two APIs but I’m fairly sure there’s at least a slight difference. I know OpenGL 2.0 is supposed to feature broadly the same functions as DirectX 10, however I’m guessing that this also is a limiting factor as to what shader models are being used.

Anyway, thanks for a well written and interesting article!

Reply
 
BarneyBear
Posted 29, Sep 2008 01:12 PM
(0)
 

Seems like I managed to double post!

Reply
 
BarneyBear
Posted 29, Sep 2008 01:12 PM
(0)
 

Seems like I managed to double post!

Reply
 
Kalos
Posted 29, Sep 2008 01:54 PM
(0)
 

[QUOTE=BarneyBear;6668]Right, this might be a bit late for a comment but I’ll give it a go.

An interesting article I must say, but one thing you might have overlooked (you didn’t seem to mention it in the article) is that all Blizzard games (including those under development) run both on OS X and Windows. In other words; the engine has to be able to render in both OpenGL and DirectX. That said, I have limited experience in programming with either of those two APIs but I’m fairly sure there’s at least a slight difference. I know OpenGL 2.0 is supposed to feature broadly the same functions as DirectX 10, however I’m guessing that this also is a limiting factor as to what shader models are being used.

Anyway, thanks for a well written and interesting article!

Not too late, comments are always welcome, lets me know someone actually reads this stuff and I should continue writing.

Indeed, I should have mentioned the OSX/OpenGL necessity, it would have further eroded the base for a developed DirectX10 mode being reasonable or perticularly better. It was just too long (already had Leord pressing me to cut down further). I mentioned the link in my first article of analysis Starcraft 2 System Requirements, but you are correct, it should have been referenced at least in passing as it is important.

The OpenGL link is perhaps one of the main reasons they’ve had to heavily work on their shaders, not just simply to get good effects but to get them to work in multiple graphical API options, not to mention Shader Model 2.0 can be discribed as being more neck-and-neck with the current OpenGL generation.

I am glad for the comment, it means something that readers are furtherning the ideas here and thinking as they read, and that is brilliant.

Reply
 
Page 1 of 1 pages

Search StarCraft IncGamers

We are Here Where are You?

- StarCraft Videos

Loading...

StarcraftWire's Friends

SC2p.com

(view more)

Link to StarcraftWire with this image:

Syndicate