Weter, since you seem to misunderstand my intentions I think I need to explain my rationale:
What I'm not calling for is that you need the latest and greatest graphics card, CPU etc. This feature, Shader Model 4.0 is a feature that was already created 10 years ago and was supported by the then-current hardware (GeForce 8000 series, Radeon HD2000 series).
Some software, OpenRails included, has some dependencies on external libraries (MonoGame/.NET Framework) and also indirectly on hardware features (like Direct3D level) to be able to properly work. You can try to make a feature work with a previous version of said framework and some very dirty hacks, but eventually this will bite you. Enough examples of game developers on 1990s gameconsoles (N64, PS1) that used un-exposed or very deep hidden features to simulate some special effects or other stuff:
https://www.youtube....h?v=izxXGuVL21o
In v1.4, with the MonoGame migration, that meant that some support had to be dropped:
* MonoGame requires at least .NET Framework 4.7. This is not supported under Win XP (last supported .NET Framework is v4.0)
* MonoGame also required at least Direct3D 10, therefore rendering above "limitation" moot anyway (since XP only can support Direct3D 9)
With the work gpz is doing, making realistic rendering effects possible, he is now stumbling on a limitation imposed by the current used Direct3D level and Shader Model version. Again, he can do the hacky way by keeping the same level but writing very ugly code. Or he can ask the development team to agree to raise the Shader Model version to 4.0. This implies then that some old(er) hardware will not be supported anymore, but will at least enable a clean codebase and eventually the proper way to simulate these effects.
With major vendors having dropped (updated) support for that hardware anyway, why should OR keep supporting it ? Yes, new GPU's and PC's are very expensive. I was lucky to have bought my system during lockdown, just before the semiconductor shortages. It's a Core i5 9th Gen, so I'm eligible to upgrade to Windows 11 should I wish. But you should be able to buy a second-hand system with a Core i5/i7 6th Gen (or Ryzen 1000) with a medium-end (GTX1050, Radeon RX560) GPU in the range of 500 to 600 of your local currency (EUR, USD or CHF).
If you are not able to afford that, there is another way, but I don't really think this will be your cup of tea. You or someone else can always fork the codebase, base it on the current rendering version. Features that get added in the mainline version you can try to backport. It's not impossible (see example below), but it is
very laborious work and will definitely involve some more hacky code, eventually defeating the purpose (i.e. the codebase becomes so messed-up that it will end up unusable in the long run).
This principle of backporting is most known from the enterprise sector. For example, Red Hat (an IBM subsidiary) still supports Red Hat Enterprise Linux 7, first released in June 2014. After applying updates, once will notice that the kernel version number will remain at the same low number (3.10). Only the suffix number (the number after the dash, so 3.10-
1160 in RHEL 7.9) is appended and updated with each patching cycle.
One could argue that this low number means that the kernel is "not up to date". Nothing could be further from the truth. Even a kernel with such a low version number could have parity (the same level of features/support/security fixes as the "mainline"/current kernel). The only difference is that Red Hat has a whole dedicated team of re-writing the code of the current kernel so it works with the internals/code of the old kernel. And, that support is not free: Red Hat is a commercial distribution where you need to pay a yearly license fee per machine (similar to Windows Server) if you want to keep receiving updates & official support.
Since OR is a community-effort and not a commercial endeavour, we have to choose priorities. In my opinion we have been maintaining the status-quo concerning the model format long enough. I myself have been asking for this format for over 2 years. It is only now that finally
someone (thank you gpz! :yahoo: ) has found the courage and knowledge to tackle this topic and put it in to practice.
If you do not agree and find we should stick to our Win 7 boxes and their inherent limitations that's fine. You can remain on the v1.4 tree for my part. But stop whining and do not prevent the people that want to move forward keeping reliant on deprecated API's and hardware.