Search Unity

Unreal Lumen (Global Illumination without RT)

Discussion in 'Global Illumination' started by jjejj87, May 28, 2021.

  1. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,661
    Not at all or at least i do not know if that is a package that i need to install manually, because i have unity 2021 and the SSGI is not even close to Lumen, i have a laptop with a 1050 and i can play with lumen and see fast realtime results but with SSGI from Unity, is all noisy and basically useles at least the package that comes with HDRP 12.0.0
     
  2. Ruchir

    Ruchir

    Joined:
    May 26, 2015
    Posts:
    934
    Well, there's no way it would match lumen (considering it uses SDFGI or something as well) but it does seem to be good enough for the SSGI part of the lumen. Maybe lumen has better specular response. Also, I don't know the performance comparison so maybe that's better in lumen but I can't judge.
     
  3. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
  4. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Must be some highly technical reason why Unity hasn't done it yet.

    Suspect it's more about trying satisfy all the use-cases. Something might work great in a small scene or bad in a large scene, then there's how it looks when things are rotated or scaled and so on...
     
    NotaNaN likes this.
  5. Gooren

    Gooren

    Joined:
    Nov 20, 2015
    Posts:
    332
    Too complicated a topic to get me excited over Twitter. I would have to see various drawbacks of his particular implementation, since there are bound to be many. Specially when it's a single person in-house implementation.
    Any custom GI at all is a technical achievement, but still... I don't take it as a proof that Unity is incapable/unwilling to provide it's own proper solution for realtime GI.
     
    Ruchir, NotaNaN and JoNax97 like this.
  6. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,661
    Maybe their solution is not compatible with their new system or source code, i mean, they really want to push DOTS and maybe they are trying to make everything they have with this DOTS thing and also give the user new features. The moment they announced DOTS i was afraid of a disaster in terms of the evolution of the engine. They also have a road map, but come on, Unity is very big this days, they can show something or say something because i think many user are looking the sexy Unreal 5 right now. Am i wrong? i'm just a very basic user
     
  7. Gooren

    Gooren

    Joined:
    Nov 20, 2015
    Posts:
    332
    I believe DOTS is a step in the right direction. Unity mentioned many times over that they want to build as many of the engine's systems as possible with it. And it makes sense, since impressive performance improvements have been demonstrated many times over already. But it's a long run this one.

    And yes, people are looking at Lumen while Unity isn't providing much in response.

    One important thing is that Unreal has very solid marketing. They presented Lumen and Nanite in such a beautiful, cleverly put together demo. Yet first to believe it I need to see Lumen performance and a list of pros/cons by long term users.

    The demo is running flawlessly on very high end HW, but how well do the underlying systems scale on lower end HW? You can't expect the lower spec gamers to reach RTX 3080 performance any time soon... And what about workflow? Build times? Import times? Loading times? Is it possible to use Nanite without SSD?
    Is Lumen at least somewhat pleasant to set-up properly in high-complexity scenes?
    Also all this is in a preview engine version.

    At the end of the day, I'm pretty sure Unity will come up with solid solutions of their own. It's just about time and money.
    Certainly, at least at this point, I wouldn't even consider switching engines because of this.
    Unless I would be starting a completely new project, expecting years of development (since said Unreal features are very much preview at this point) and would desperately need an actual realtime GI solution and Nanite.

    Unity re-enabled Enlighten, yes, but that only provides us with prebaked realtime GI that isn't as dynamic as one might desire.

    EDIT:
    Also be aware that using Nanite in Unreal will allow you to reach amazing graphics easily with Quixel assets. But god forbid you need something that isn't present in the Quixel library and don't have the skill/resources to supplement for these assets.
    Mixing random stuff from Unreal Marketplace or custom made not top notch assets with Quixel photogrammetric assets will yield horrible results :D

    By choosing Nanite+Quixel you pretty much make a commitment to hold to a very high standard of visual fidelity. And don't even get me started on art style consistency.
    Also, working with incredibly high poly assets directly in your project will break or make almost impossible to implement so many editor tools and various realtime mesh analyzing and/or modifying algorithms...
    Tools for in-editor collider generation come to mind for example.

    Both Lumen and Nanite are definitely next-gen and a must have in the future. But it will take some time to reach comfortable and safe use for general indie dev use (specially very small studios or single devs).

    NOTICE: All I said here comes from my personal experience, getting overhyped many times in the past and just personal preference. Everyone's mileage may vary :)
    Don't take my word for it, if you love the tech, try it yourself on your own HW, with your own assets and levels and see for yourself :)

    And sorry for the wall of text.
     
    Last edited: Jun 10, 2021
    StuwuStudio, Rich_A and FernandoMK like this.
  8. Passeridae

    Passeridae

    Joined:
    Jun 16, 2019
    Posts:
    395
    I've seen numerous updates regarding the probe volume feature on github throughout this month. Maybe at some point Unity is going to add an option to update probes at runtime (like DDGI) and that would be our real-time solution? Their latest papers also indicate simular techniques that use probes for realtime gi.
     
    FernandoMK likes this.
  9. impheris

    impheris

    Joined:
    Dec 30, 2009
    Posts:
    1,661
    Everybody knows that, DOTS is a positive point, but that does not mean the transition or evolution of the engine is not a mess.

    I just have a laptop with 8gb Ram and GTX 1050 (not even ti) and i tried a demo and it runs good, not perfect but good with lumen GI and realtime reflections, so... it is pretty amazing and i am a unity lover.

    There is no point on switching engines to make an hypercasual mobile game, if i said i want to make my new project on unreal is because those new features are perfect for my idea of my new project. Anyway, rightnow i'm working on a simple game on unity but in the next year i will start a new one, realistic and all that stuffs. I really want an good alternative in Unity but i do not see that happening in the next year or two :/
    My vision is far away from mediocre...
    Not agree, right now is very easy to work with and is just an early access.
    As i said here and on previous posts (also here) i already tried and i felt in love xD
    Do not worry about it, i really like to talk and discuss opinions. But sorry for my english
     
    Ruchir likes this.
  10. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Lumen is not designed to scale down to the lower end. Its for high end PCs and latest gen consoles. It has modes that do make use of hardware raytracing but you dont have to use those, so its not only for 2080 GPUs and upwards for example. There are no current plans to make it work on mobile or VR. Lumen requires nothing special in terms of setup, in that most of it is automatic, there arent even many settings for it, there is no manual placing of probes or anything like that.

    Nanite is off-topic for this thread, but it does apparently work ok with mechanical hard drives. Its not just for very high poly meshes either, so I dont agree with your point about the content creation required to make good use of it.
     
    Gekigengar and PutridEx like this.
  11. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    The problem with Lumen is that it depends on so many underlying pieces in place to run acceptably, and it's not exactly ... distinct or separate from nanite. The reason for this is nanite solves problems you also can't lightmap or prebake GI for without a whole lot of missing tech, so the two were designed hand in hand.

    I could be wrong but that's what I found out in my testing so far. Therefore Lumen or similar would not currently be optional if using nanite - out of the box at least.
     
    NotaNaN likes this.
  12. Rastapastor

    Rastapastor

    Joined:
    Jan 12, 2013
    Posts:
    589
    There is one requirement for Lumen is to build distance mesh fields for each mesh, which is fast. Which is actually done automatically on mesh import (UE5 has this feature enabled out of the box obviously)

    Atm Lumen is quite quirky, while it can produce a very nice results it has lots of problems with foliage, doesnt work with terrains (at least from my tests). But its still EA, so I hope most of the issues will be solved till release.

    The biggest plus for me from Lumen is I dont need to bake any lightmaps. With Enlighten in Unity I still need to waste my time building lightmaps for the realtime GI to work and it can take long times.
     
  13. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Some of their rather long videos do touch on what should and should not be expected for the initial release version. But I forgot the details. Despite my hazy memory maybe I can still fairly claim that they didnt sound too optimistic about every system working with it for 5.0.
     
  14. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    I have tested most Dynamic GI solutions ...
    The only best solution is the Enlighten...
    The bake time is not too much long on a new cpu (ryzen)... but the performance is maxed out

    Unreal Engine makes too expensive promotional demos
    But in the end, people test with a few cubes:


    GI is not a new or advanced technology
    It's been a long time since many of GI solutions have come out for Unity (like SEGI GI)
    But the Enlighten is the best solution because of its high quality and performance
     
  15. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    They don't ship games with a few cubes though.
     
  16. Ruchir

    Ruchir

    Joined:
    May 26, 2015
    Posts:
    934
    Is there an option for static lightmapping in UE5?
     
  17. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Minecraft did.

    :D :D
     
  18. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    Well, not really "a few" though :)
     
    Rich_A and hippocoder like this.
  19. Reanimate_L

    Reanimate_L

    Joined:
    Oct 10, 2009
    Posts:
    2,788
    you can turn off lumen if you want to use static lightmap
     
  20. tuinal

    tuinal

    Joined:
    Dec 14, 2012
    Posts:
    17
    Lumen is the best GI solution currently available, by virtue of how easy and time-free it is to implement. And that's whilst still in a beta.

    The general thing with GI, is if you have real-time control, you can artistically solve or fake a lot of GI issues or artefacts. If you have even as low as a 5 min bake turnaround, that cumulatively wastes a lot of dev time that could be used to make things prettier.

    Baking will (and deserves to) die a death. This will happen on the games side well before baked is 'equivalent' to realtime, since games (by and large) are less about photorealism and much more about looking awesome, which means any workflow that provides tools that let someone make something look awesome in realtime is going to flatten anything that needs you to sit and wait.

    Enlighten is not bad, as Unity's closest approximation. It's not a bad bake time, and once done allows real-time GI (though with a performance hit that lands largely on the CPU, and is non-negligible). It's let down rather by Unity's auto-unwrapping, which either needs you to add the time to circumvent it with your own UV maps, or fiddle endlessly with the settings to get a reasonably artefact-free bake. Beautiful realtime GI is easy wrecked and rendered worthless by a few broken lightmap UVs. Fundamentally, it just does not work well out of the box on a large scene, which as Epic have already realised is the key to flat-out improving an engine.

    I feel like Unity banked on SSGI in HDRP as the way to go. The problem is it hemorrhages framerate beyond a level that would justify it's value based on the visual difference (20fps on a complex scene, for me in testing, with negligible visual difference in many cases). It's also unusable in raytraced mode in any production-level game scene that would benefit from it, as - basically - is all of Unity's raytraced tech. This doesn't mean the fidelity isn't excellent for archvis, or demos where you can assure a 3090, etc., just that you're not going to be beating UE5s fidelity in any kind of AAA-game context that you plan to push out to a general PC or console audience.

    I like to think I'm relatively tech-agnostic. Unity is still competitive in many areas. But for the most beautiful, performant, high-end game visuals, Epic will clearly (continue to) have the edge for at least the next few years.
     
    Wawruch2 and NotaNaN like this.
  21. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Baking is 100% absolutely fine, providing authoring has realtime feed back. You don't have to throw the baby out with the bath water.
     
    Gooren, Ruchir, NotaNaN and 1 other person like this.
  22. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    Our problem is baking time? This can be solved in a few minutes with the powerful CPUs of Ryzen 9. Remember that in the Enlighten you need to wait for the first time and it bakes quickly for the second time (with the help of GI Cache)

    Also in Unreal Engine you are constantly watching building shaders. Everything is slow. Delete a file you have to wait. Open everything, you have to wait. Package project, you have to wait...Everything needs to build and wait...

    About performance:
    Enlighten has excellent performance on the weakest CPUs(10 years old). It only has performance problems on mobile phones.
    Instead, the overall Unreal Engine performance is lower than Unity (Download and test it if you like)...I said this 4 years ago
    Therefore, the performance of GI in Unity can not be criticized

    Enlighten is a great tool. You can easily use it for free in Unity ... appreciate it
    You can use it on most low-end targets... Lumen is just for most high end targets
     
    Last edited: Jan 10, 2022
    FernandoMK likes this.
  23. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    Both are good
    Lumen:
    + Fully dynamic without baking (Can move everything)
    + Works out of the box
    - Has a bit noise and bugs

    Enlighten:
    + More control on the resolution and quality
    + Works out of the box
    - Lightmap uv problems especially on corners
    -Needs baking
    - Can not move the emissive objects

    UE5Lumin.jpg
    GIHDRPR.jpg
     
    tolosaoldfan and FernandoMK like this.
  24. tinydaniel

    tinydaniel

    Joined:
    Jan 21, 2022
    Posts:
    3
    The issue for me is not baking so much. But the creation of the light. With global illumination, we only have to set one source of light (the sun).
     
  25. Deleted User

    Deleted User

    Guest

    If I am understanding correctly u can use infinite number of realtime point,spot and area lights but only one directional I guess when using Enlighten realtime GI
     
  26. Deleted User

    Deleted User

    Guest

    even Godot now has a realtime GI!!! .... unity plz stop ignoring it!!!
     
    Gekigengar, newguy123 and Lymdun like this.
  27. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Hmm that looks pretty artificial to be honest, vs some I've seen. See how the huge blobby AO effect crushes the colour depth during sun transition.

    I would probably just bake indirect for 8 times in the day and lerp in shader instead pretty much the go to for most games.
     
    Ruchir likes this.
  28. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    Enlighten is the best solution because of its performance, Other Dynamic GI solutions kills your performance... So forget them even if they are out of the box

    Lumen has a lot lower quality compare to the Lightmass lightmapper with a lot lower performance. It needs 10 TFLOPS of ps5 power

    The Enlighten's quality is good as Lumen after a short time baking with a maxed out performance (Lumen has noise):
    1.jpg
    3.png
     
    Last edited: Mar 21, 2022
  29. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    Enlighten and Lumen are not equivalent, Enlighten needs most of the geo to be static, while Lumen can be anything.

    Enlighten was good for what it was, a "lightmapper" only you could update the lighting at runtime. And since it had the same limitations as Lightmapping, it was much faster than a full dynamic solution.

    Lumen is fully dynamic.

    What's more, Unity does NOT have Enlighten, at least not really. I wouldn't use a feature which has been removed, readded and then announce to be re-removed in the near future. I wouldn't design a game around it.

    So right now, Unity has a lightmapper in an "ok" state and that's about it. Everything else is in very early preview, experimental or about to be removed.
     
    hippocoder and Ruberta like this.
  30. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    Also, that godot video looks pretty bad. Although it may be down to user error. I have seen videos (which I can't really find now in the 5 minutes I gave myself to find them, so whatever), where at least it wasn't so artifact ridden (although it still looked somewhat "artificial").

    If those results are representative of their solution, I'm not impressed, but I'm hoping they're not. We'll see.
     
    Last edited: Mar 21, 2022
    Deleted User likes this.
  31. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    1. Most AAA games has baked everything (AO,GI...)
    2. Lumen and all Dynamic GI quality are not comparable with Baked GI
    3. In unreal engine, you must have a proper lightmap uv without overlapping uv to see no errors in the log window or sell your asset in the marketplace. So a good developer must have always a good lightmao uv for models
    4. With a powerful cpu, the enlighten and baking time is near to dynamic
    5. Dynamic GI has noise
     
    FernandoMK likes this.
  32. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    Mainly because fully realtime GI solutions weren't good and/or fast enough (until now?). SEGI was insanely popular here. The demand was always here. The performance and quality wasn't there, something which has been redeemed a bit simply by hardware getting faster.
    I agree, but I do not consider Enlighten to be baked GI quality wise (we are talking about its precomputed mode, right?).
    How is that related to anything I said? Did I talk about UVs?
    It's not, and that's not the point, you can have GI contributing moving geometry at runtime with Lumen, you can't do it with Enlighten.
    Enlighten does too, depending on the settings.
     
    Deleted User likes this.
  33. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    In the end, I don't think real-time gi is useful for production.
    It is more useful for entertaining game developers
    I spend hours with Lumen in Unreal Engine, but end up ,i using other methods due to very low performance.
    Don't forget that the longer you wait for baking, the more it will add to your game performance
    Lumen:






    Where is the Lumen on above images:
    1. Leaves shadows (can be simulate using AO)
    2. As ambient light (can be simulate using light probes for movable objects)
     
    Last edited: Mar 21, 2022
  34. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    Foxes and grapes.

    But sure. My games are *mostly* static too, I would be paying a lot of overhead with Lumen when I would be better served by a precompute Enlighten-like solution, so I can have better performance.

    BUT STILL. You can't directly compare Enlighten and Lumen, they don't do the same thing.

    AND ALSO, I wouldn't use a feature that has its expiration date announced already. Unity has handled Enlighten like ass, I wouldn't base a game around it. Unity doesn't have as a feature in my eyes.
     
    Roggi_ and Deleted User like this.
  35. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    Switching between GI solutions, only needs a few hours... So you can switch to the new replaced GI solution when it was production ready in a few hours.
    Or maybe less than a few hours because the new one is fully dynamic
    I'm sure the next level of the graphics is the raytracing. That needs new GPU powers that can be usable in 5 years later for all users
     
  36. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    This topic forced me to try again Enlighten GI quality in my sample scene (baked in medium):
    5.jpg
    1.jpg
    2.jpg
    3.jpg
    4.jpg
     
    Gametyme and Wawruch2 like this.
  37. Ruberta

    Ruberta

    Joined:
    Mar 5, 2019
    Posts:
    114
    SDFGI & SSIL are for fully dynamic game likes most sandbox games. Godot also provide baked GI via GIProbe and Voxel GI. So you have three different GI solutions in Godot 4.
     
  38. Deleted User

    Deleted User

    Guest

    Ruchir likes this.
  39. Lymdun

    Lymdun

    Joined:
    Jan 1, 2017
    Posts:
    46
    Stuck at 3.09p1
     
    Deleted User likes this.
  40. UnityLighting

    UnityLighting

    Joined:
    Mar 31, 2015
    Posts:
    3,874
    One of the version 4.00 features:


    ContributeProbe2.jpg
     
    Shizola and Deleted User like this.
  41. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I think you're missing the part where Unity *is* going to remove it. Why would anyone start a game using Enlighten in Unity today? It's best for people who have already shipped with Enlighten in their games.

    I don't doubt it looks nice, but beyond Arch Vis or a title that's shipped by now, it is only risk. Nothing else.

    For a lot of people making games that won't be updated in the future, that's perfectly fine. Just be aware in any title that is starting dev today, the chance of Enlighten being removed BEFORE you ship your game is really high.

    They pulled that stunt on me once before, and they announced it extremely close to the wire - just a few months before it got removed. So no, I can't endorse it.

    Source: https://forum.unity.com/threads/sur...kend-deprecation-from-2023-1-release.1222737/
    Baking removed next year, realtime removed the year after. Now, I don't know about you but most indie games won't be made in less time than 2 years. Please stop recommending Enlighten



    I don't understand how people are comfortable having support for 2 years at the most, with most indie titles taking longer than 2 years to develop.

    What happened to me last time and what will happen to people if they ignore this is... they'll ship a game with it, then a new console/vr device comes out and ... oh! You need 2025 since the platform is only supported on 2025, but that means dropping Enlighten, so you go to this rock and hard place I have already been to and got squashed by. But suit yourselves.

    This is Unity's business model though, they will keep moving forward because that's how subscriptions work.
     
  42. runner78

    runner78

    Joined:
    Mar 14, 2015
    Posts:
    792
    Actually, this has nothing to do with subscription. This is the same with normal per version purchase software. New features are only available in new versions and you have to buy them.

    I'm actually wondering if there will be any news about Unity's own RT GI, which was originally supposed to replace Enlighten. There is no information about it, but the Enlighten still has a limited lifespan, there is definitely something in development here. Was the original version canceled because Lumen came up and wasn't good enough? Will there be an ECS based solution?
     
  43. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    When it was changed to a subscription, the price for Enlighten was too high for Unity's taste, plus Unity probably didn't expect it or see it coming... Prior to sub era, features were per Unity version, and Unity didn't need to wrangle a long-term deal nor put barriers on what they could support. No-one's fault in the end, another reason inhouse matters so much though.

    Re: GI

    Replacing GI with a semi-baked like approach is surprisingly simple. A lot of games, AAA ones like the new God of War (2018) and Horizon (2014) bake indirect for a few times of the day. In Horizon 1 it was 8 and doubled for the sequel, I believe.

    This indirect is easily sampled and lighting calculated accordingly (not so easy), and it's something the PLM can handle. But what is missing is the fact Unity doesn't want to copy a system like AAA uses, because it's not general purpose enough.

    That's my take on it. I would also recommend perusing your own approach based on what AAA has been doing for about 10 years now (baking indirect and lerping it).
     
    florianBrn likes this.
  44. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Sounds kind of interesting actually. And funny you say that, I had been looking at splatting nearby surfaces with surfels or other scheme using highly accelerated CPU side raycasts. That's something that could work but I figured would be fiddly enough to need some HDRP math boffins to shape well. If memory serves a similar approach was researched a year or so ago, it's a problem people come back to and a fun one (if deadlines aren't involved)...
     
  45. AcidArrow

    AcidArrow

    Joined:
    May 20, 2010
    Posts:
    11,735
    You give the headless-chicken-like management too much credit.
     
    Gekigengar likes this.
  46. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    I try to give everyone credit by default. It usually isn't what I suspect, but it does give people who fall under my spotlight the chance to really meet that higher standard rather than holding anyone back, I mean - why not expect the best in people?
     
  47. freneticponies

    freneticponies

    Joined:
    May 25, 2022
    Posts:
    2
    Unity has a prototype, fast, partially baked or entirely realtime GI system btw. It's used in the Enemies demo.

    But any more detail than that I can't give you. Why it's not in the tech stream is anyone's guess. But damn would it be nice if Unity were a less bloated company.
     
  48. merpheus

    merpheus

    Joined:
    Mar 5, 2013
    Posts:
    202
    they used APV in there and it is not realtime gi.
     
  49. Deleted User

    Deleted User

    Guest

    So can anyone confirm that unity is working on an inhouse solution for realtime GI (non RTX)... They said that they were working on it 2-3 years ago during the enlighten deprecation but we didn't hear anything about it later...does unity think that RTX will replace all the inhouse solutions in coming years (by 2024 -25)???
     
    sqallpl likes this.
  50. valarnur

    valarnur

    Joined:
    Apr 7, 2019
    Posts:
    440