I've made a very simple post processing shader for my 2D game. It produces scanlines by dimming every other line. For this I use the position of the pixel on the screen.When using ps40level93, I receive the message:shader model ps40 feature level93 doesn’t allow reading from position semanticsSo I switched to just ps40 and things work fine.
I probably won't be using any advanced shaders in my 2D game.My questions are:. By setting the pixel shader to 40 only, what impact does that have for my game (if any) - is it a mistake to 'downgrade' the pixelshader?. How do I know what pixelshader version to use? I found this: but I'm unsure when to use what shader?
Is there a list like 'for windows use this', 'for mobile this' or is it, use the lowest version that supports the feature you need? Theoretically, you do want to use the lowest level you possibly can. The lower the level, the wider the range of hardware that your game supports, and the more people that can play (and buy) your game.That said, as you're using DX10/11 already, you're already targeting markets that actually use Vista and up, which mostly coincide with the markets that have DX10-level hardware or better.
Targeting SM 5.1 is probably a mistake, but 4.0 is likely just fine.Given that DX9-level hardware is getting rare for anyone running Vista up these days, I tend to just stick with shader model 4.0 as a minimum. That said, you may feel differently.
At, though it doesn't qualify that with market demographics.There are markets where DX9 is sadly still the API of choice, but those are markets you're very unlikely to have any luck in for a variety of non-technical reasons (e.g. National laws that make life difficult for foreign games, nationalist loyalty from gamers towards domestic game manufacturers, or wildly different game design preferences than present in the West).This of course is one of the supposed advantages of GL vs DX.
With GL, you can use the latest hardware features even on older Windows versions. The flip side is that the drivers are likely out of date and buggy, so your GL app is likely to generate far more support requests and unhappy customers than a DX version. This is why, for example, the browsers all implement WebGL via a DX layer on Windows rather than just using GL directly. Even when the current drivers are high quality, folks on older Windows OSes are far far more likely to be running out of date drivers, and not even know how to upgrade them.The out-of-date driver problem also affects DX, though to a far lesser degree. I'd suggest targeting only modern Windows OSes unless you have a very strong reason to indicate that XP users make up a significant portion of your target market, as the cost of targeting XP (in terms of development, testing, support, etc.) is just getting higher and higher as time goes on.TL;DR: lower feature levels will widen your potential audience but probably by an insignificant amount.
Hello,Does this issue occur with all games, or just some? My first suggestion is to check the game vendor's site to see if there are options to enable this feature for different platforms.However, the game may require other CPU and GPU capabilities in order to take advantage of the shader hardware, and your system may not provide the minimum required. Vitodens 222-w manual. In other words, it's not just the existence of shader support in the GPU that matters, as other system or graphics capabilities may be needed for the game to use the GPU's shader.By the way, here's a pointer to the. This should list the full capabilities of your chipset, and may help if you contact the game vendor.Hopefully this helps.Regards,Neal.