ORMT - Sessions Open Rails Management Team
#41
Posted 29 October 2023 - 01:15 AM
Is there any topic that you would like ORMT to discuss?
#42
Posted 29 October 2023 - 01:47 AM
In minecraft you have to place torches to prevent hostile Mobs spawning in low light levels. A minecraft scene may have a hundred torches with out loss of performance. (static light sources) I bet these static lights are limited or fudged in some way, but the effect is still gorgeous.
I realise that getting a dev to implement things is a problem, but are there not ready made chunks of monogame code ?
https://deepworldgam...t-point-lights/
I`m not a coder so sorry if the above is not relevant.
Anyway, perhaps ORMT can find a moment to discuss static lights. Or even a move to direct x 10? Thanks, Rick
#43
Posted 31 October 2023 - 01:50 PM
rickloader, on 29 October 2023 - 01:47 AM, said:
It doesn't matter what shape the lights are, with immediate rendering, we need to calculate the light effect for every pixel (multiplied by number of lights). Every pixel on screen (in the 3D world) is calculating the light cone effect currently.
rickloader, on 29 October 2023 - 01:47 AM, said:
https://deepworldgam...t-point-lights/
The code here appears to have been removed, but it is nevertheless going to be applying all 20 lights to every pixel. I don't remember what the maximum number of lights we could do with DirectX feature level 9_3, but more will definitely be worse for performance.
The main way out, which I believe most game engines use (or at least support) these days, is deferred rendering.
rickloader, on 29 October 2023 - 01:47 AM, said:
Minecraft has an almost unique optimisation it can do: almost everything can be calculated at vertices, not pixels, which massively speeds up things.
#44
Posted 31 October 2023 - 02:31 PM
I must now reads about deferred rendering. thanks, Rick
#45
Posted 31 October 2023 - 04:44 PM
rickloader, on 31 October 2023 - 02:31 PM, said:
The code to do multiple lights (up to an arbitrary fixed limit) is pretty simple, but it needs someone to take the time to implement it and test the performance effect (and see if it'll even work with our supported shader levels). Without that, we don't even really know if deferred rendering is needed (or a bump on minimum specs). :(
#46
Posted 31 October 2023 - 06:57 PM
James Ross, on 31 October 2023 - 01:50 PM, said:
While you are here, may as well "spill the beans" on anti-aliasing as well (warning this will almost surely cause some "brain pain" to read):
Multisample anti-aliasing in deferred rendering
If you want to see what a high performance, but limited AA looks like, I give you Run8. Running OR without quality AA, but with lights galore might be not what you are asking for. Many FPS games cheat by having a lot of black on the screen to "improve" visual performance with less AA. The last time I looked at Dovetail's offerings FXAA did very little for me. The simple but expensive SSAA works very well in forward rendering. Per say SSAA, is not really possible in deferred rendering without a fabulous GPU setup (dual Nvidia 4090s anyone?!) and even then you might be relegated to 1920x1080 as opposed to 4K to get decent frame rates. If this is so "simple" to do, somebody would have tried it out already. Alas the years role by.
There is also the "messy" issue how deferred rendering handles transparencies, this might turn the handling of common OR shaders upside down.
Steve
#47
Posted 01 November 2023 - 06:01 AM
James Ross, on 28 October 2023 - 07:02 AM, said:
James Ross, on 31 October 2023 - 04:44 PM, said:
Let me take the chance to note here that the support for multiple lights is part of the glTF PR, which is part of the unstable release for more than a year. (Maybe more than two? I'm not in a mood to check back...) Currently the only supported way of adding more lights to the scene is to create a glTF object with attached lights, which then can be used either as a vehicle or a scenery object. Multiple of such glTF-s can be displayed at the same time, and one object may contain multiple lights. Currently there is a constant max. limit number of 20 is set in the code, but this is just because I don't know the performance implications.
#48
Posted 01 November 2023 - 08:15 AM
Eldorado.Railroad, on 31 October 2023 - 06:57 PM, said:
There is also the "messy" issue how deferred rendering handles transparencies, this might turn the handling of common OR shaders upside down.
I hope you didn't think I meant deferred rendering is "simple", because it certainly isn't, and I know about the anti-aliasing and transparency downsides.
What is "simple" is changing our existing shader from doing 1 light to doing a higher (but still limited) number of lights, like Peter has done in the glTF patch (along with a lot of other work, of course).
gpz, on 01 November 2023 - 06:01 AM, said:
There is also the implications of increasing the minimum spec from DirectX feature level 9_1 to 10_0.
#49
Posted 01 November 2023 - 10:05 AM
Nevermind the professed outcomes, someone has to even try. Until that happens, we can speculate all we want.
#50
Posted 01 November 2023 - 12:12 PM
- Physics Improvements
- Lightning Improvements
- File Structure Evolution
- World and Activity Editors
- Documentation
- Installers and Tutorials to simplify new user experience
If there's another way organizationally that these topics fall into swimlanes, great. We have various "camps" of interest, and it seems that some camps are more favoured than others.
I also want to continue to beat the drum on resurrecting TSRE -- please find a volunteer within the developers who might be able to figure out the QT components and see if there's a way to port that into C#.
Get as many eyes on that source code as we can, and perhaps someone will see a path forward. But people have to look at it. It's not fixing itself, and Goku continues to be absent.
Without new routes, we're screwed.