Shader stuff, Problems & Options

Mar 26, 2008 at 3:37 PM
Topics:

I - Shader problems
II - Options dialog


==== I =========

Since I think there are not only players outside which have the newest,
at least Geforce generation 6 hardware in their PCs, or playing on their laptops which not all have such cards,
I think we should do some "Shader stuff", concrete I mean by this, having not only Pixel Shader V2 or Vertex Shader V2 in our Engine,
but also providing "uglier", but "playable" shader configurations.

If you still don't know what I'm talking about, it's that I HAVE to code and use this QS Engine on my laptop which Intel GMA950 obviously
doesn't support these fancy new shaders.

Problem 1: I can't work with it that way!
Problem 2: My new Graphics card supporting these shaders is coming tomorrow but...
Problem 3: The Desktop PC doesn't have Internet there!

Conclusion: I have to send the engine back and forth between my laptop (got Internet) and my desktop pc (got it not).

That's horrible, so the logical conclusion is, we should modify the QS so that it is working even without shaders. Well, not directly without shaders, but having an option for it to work
with shaders 0.0 or at least 0.1/1.0 (dunno which one), so that other players can still play it on their laptops.

This has double good effect, I can work and code on my laptop more comfortably, and other players can play it on their laptops.

I hope you understand, if not:

No Support for low-shaders = No good.



And if that is finally still not logical at all, how about "Casual Games" with the engine? They don't always need professional shader support, also they MUST (or at least should to get widely accepted) run in 90% of all cases on business-PCs whihc don't have a GC at all.

Someone please understand me :)



==== II =========

Now to another problem, the Options dialog. I think we should include one, which I would do :)
Then, I'd say we make the options/settings dialog as a Windows form and launch it before the actual game, instead of having it as a menu.

What would you prefer?
Mar 26, 2008 at 4:48 PM
There are several issues here, mostly technical. First, SM 2.0 hardware is common and most off-the-shelf graphics adapters support it, including your GMA950 (if not, check your drivers). I think you're confusing SM 3.0 with SM 2.0. I believe there are some shaders in the engine currently that use SM 3.0 unnecessarily. That is not a problem, we can fix that. Second, there is no SM 0.0 (unless you mean fixed function pipeline, shaderless), and SM 1.0 was never really used. That leaves SM 1.1, which is so limiting that it would mean cutting a lot of features in order to support. Along with that, we need to consider how much manpower we have to support different hardware. If we set the baseline at SM 2.0, then the vast majority of gamers will be able to run games created with the engine with a minimal of support effort on our side. If we drop down to SM 1.1 for the baseline, we'd need to have separate code paths for practically all graphics code, which is a pain to support to add another 1% of users.

In all seriousness, this engine is not meant to support the Flash type of casual games. This engine is going to be 3D at its core, and take advantage of modern graphics hardware. Business-class computers without graphics acceleration is not the target platform, not for this engine nor for XNA Game Studio. Think of the target audience for this engine to be similar to that of Source, CryENGINE, id Tech 4, and the like. I'm not saying we're going to build a product as advanced as those engines, nor would C#/XNA let you do that as efficiently, but that's the same target hardware.

Regarding the options dialog, just remember that's Windows only. On Xbox, we'll have set resolutions and other graphics settings. Any non-graphics option will be more appropriately placed in the game UI.
Mar 26, 2008 at 5:48 PM
Edited Mar 26, 2008 at 5:51 PM
1. As for the Xbox thing, there isn't any point in having a dialog there anyway, so I think the Forms way is valid.
2. Oh, so that's a thing within the engine now (with the shaders)? Ok then, forget what I said right now ;)

( And yes, there definietly is a Version 0.0 which you can set in some games (Stronghold 2 for example allows 0.0). It even sets it on my GF 4 MX 4000 (which I'm replacing through a 7600GS tomorrow). )

And that with the engine's focus is ok, just forget my words then :)
Mar 26, 2008 at 6:56 PM
No, there is no shader model 0.0. Most likely, Stronghold 2 refers to not using shaders at all.
Coordinator
Mar 26, 2008 at 11:26 PM
What Shaw said. There is no 0.0.

http://en.wikipedia.org/wiki/Shader_model
Please refer about 2 pages down, paragraph labeled: Programming shaders
Mar 27, 2008 at 1:50 AM
I don't care if I'm shaded or not as soon as it works on my machine :
see here http://www.codinghorror.com/blog/archives/000818.html