• Canadian_Cabinet @lemmy.ca
    link
    fedilink
    arrow-up
    7
    ·
    10 months ago

    Unirronically I agree with this. I still have yet to see a use case of ray tracing that makes it worth the 50% hit in fps.

    • schema@lemmy.world
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      10 months ago

      A lot of the implications for ray tracing are on the dev-side of things. It’s a bit hard to explain without going into technical details.

      Essentially, getting light to look “right” is very very hard. To do it, devs employ a lot of different techniques. One of those older techniques is baking the light on static objects, essentially pre-rendering where light goes and how it bounces. This has been done for a long time, e.g. even in Half-Life, the lights are baked for static geometry. So in a way, we have been using ray-tracing in games for a long time. however, it isn’t real time ray-tracing, as the information gets stored in light map textures, so there is no performance impact other than storing the texture in RAM/VRAM and drawing the texture together with others.

      The inherit problem of that technique is that it only really works for static geometry. If you move your light or any objects in the scene, your lightmaps will no longer match. To solve this, there are mixed modes which use real-time lights, dynamic light maps, and other tricks. However, these are often subject to problems and/or the limitations of using real-time lights. Real-time light problems are: You can only do a limited number before getting a serious performance impact, especially if the lights produce shadows. Soft shadows, shadows in big areas, and very detailed shadows are extremely hard to do as well without some advanced tricks. Also, ambient occlusion and global illumination is not something you can just give lights (there is screen-space GI and AO, but they don’t look good in all circumstances, and you have limited control. There are also some other techniques some engines did for real time GI.).

      Also there is the problem of baked light affecting dynamic objects, such as characters. This has been solved by baking so called “light probes”. These are invisible spheres that store the light data and the closest data then gets applied to the characters and other dynamic objects. This again has a some problem, as it’s hard to apply multiple light probes to the same object, so lighting might be off. Also, light direction is not accurate, which causes normal maps to look very flat in this light, and local shadows do not work using light probes. The same is done for reflections using reflection probes which are static. These are 360° “screen shots” essentially storing the reflection at that point in space. This however costs DiskSpace/RAM/VRAM, and it will not hold any information for moving objects (that’s why sometimes you can’t see yourself in the mirror in games). Also, the reflections sometimes look “out of place” or distorted when the reflection probe is too far from the reflecting surface (again, these cost VRAM and RAM so you don’t want to place them in front of every single reflective surface). It costs a lot of time to find the right balance. For the rest, usually screen space reflections are used, as any other real-time reflection is extremely costly as you essentially render the whole scene again for each local reflection. Screen space reflection is an advanced technique that works very well for stuff like reflective floors, but you will quickly see its downsides on very mirrored surfaces as it lacks information that is not on the screen. Some games like Hitman for example use the mix of those techniques extremely well.

      Coming back to lighting, there are now better techniques used for example by unreal and some other engines (and now unity in experimental). The light gets stored in more predictable data structures, such as 3d textures. This way, you can store the direction of all light in each cell. The light then gets applied to the objects passing through those cells. This looks pretty good, and the runtime cost is fairly low, but the storage cost of such textures is a tradeoff of texture resolution and fidelity. These textures cost a lot of VRAM to store and without using advanced techniques and tricks, have their own limits (e.g. for scene size). It also costs a lot of time to create each time you change the scene, and it also doesn’t eliminate all problems mentioned above, like reflections, moving lights, etc.

      Specifically, there is the problem of character lighting itself. Using light probes on characters usually looks pretty bad, as it removes a lot of detail of advanced skin shaders. Even with the above mentioned techniques, character lighting is still extremely hard to do. There is also some other problems, like ambient shadow in already shadowed areas, and light balancing for character versus scene lighting.

      For that reason, most AAA games use separate light rigs for characters. Essentially floating lights that ONLY affect the character and move with them. When the mixing with the scene lights is done right, the rig adapts to the current situation in terms of light direction, color, and intensity. If you look in most AAA games, you can often see situations where rim-light comes from a direction where there is no actual light source. However, this way, the devs and artists have full control over lighting the characters. Essentially like a real movie production would have, but without the limitation of the real world.

      Now, ray-tracing as you know it right now is not quite there yet, but eventually, ray tracing is the solution to a lot of the problems mentioned above. Things like polygon density, light count, global illumination, ambient occlusion, light direction, reflections, and much more are simply “there” for you to use. Now this doesn’t mean that it will automatically make everything look great, but with the overwhelming amount of different tricks that have to be used for current gen games to make the look good, it opens a whole new world of possibilities.

      Also, something that will not directly influence the final game, it will eventually simplify things for devs so that more time can be invested into other things.

      At this current usage of ray-tracing, it’s more like a gimmick, because devs will still focus most resources on the current ways to use light. This is because most people don’t have cards with sufficient ray-tracing capabilities. So for the moment, I agree that the performance hit is not worth it. However, eventually it might become the default way to draw games. While we are not quite there, in terms of performance, I think that things might become a lot more consistent and predictable eventually for raytracing.

  • UndercoverUlrikHD@programming.dev
    link
    fedilink
    arrow-up
    4
    ·
    10 months ago

    Getting the vibe that OP is being serious while using a template supposed to be ironic.

    Seems odd to be angry about game graphics progressing. Imagine how it was during the 90s.

    • Asafum@feddit.nl
      link
      fedilink
      arrow-up
      0
      ·
      10 months ago

      And if they are serious it doesn’t make sense, ray tracing, path tracing, global illumination, make a game leaps and bounds more enjoyable for me. Realistic lighting is everything, I cannot wait for the day they finally get the new global illumination system in star citizen…

  • Guntrigger@feddit.ch
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    This feels like one of those “VR in the 90s was shit so we should never develop VR” kind of things.

  • Franzia@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    The weird hybrid solutions that game devs are coming up with to beat out the old tech without doing full RTX is awesome. And for that reason I like RTX, because its pushing development of ideas that work better for today’s hardware and today’s applications.

      • Franzia@lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        10 months ago

        Nvidia is succeeding (in business) by being cunts, In don’t know if they will ever not be cunts. 😂

        But you can still buy freesync and g sync monitors, however it seems freesync won that battle. It’ll be a matter of time.

  • GTG3000@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    After playing Portal RTX and Quake 2 RTX, my opinion is that what we really need are games that fully embrace RTX as their rendering. Lower poly count, use materials more, lean in onto the cool lighting.

    Games like Cyberpunk 2077 use RTX, but it’s just painted over so it is very expensive for what it brings to the table. Sure it’s more accurate and having reflections is neat, but it costs more than some shadow maps and doesn’t beat good artistic design.

  • lorty@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    10 months ago

    Don’t worry bro just turn on fake frames and upscaling. Now we get shitty graphics AND raytracing at the same time!

  • nickiam2@aussie.zone
    link
    fedilink
    arrow-up
    0
    ·
    10 months ago

    To be fair, lighting is the most important part of generating photorealistic graphics. Having realistic and real-time lighting makes it look so much more realistic

    • WindowsEnjoyer@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      “Fake it till you make it”. Using various techniques it is possible to simulate a fake ray tracing. It doesn’t need to look as real as in real life, just similar enough so you wouldn’t notice during gameplay.

      AI frame gen and AI upscaling is what I am most excited about…

    • pomodoro_longbreak@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      10 months ago

      photorealistic … realistic … real-time … more realistic …

      We had a tool for that: it was called IMAGINATION

      The graphical fidelity fetish has complete ruined gamers’ ability to immerse themselves in make believe worlds without the game doing all the work for us

      My tone is /s, but despite my hypocrisy I do believe this is half true

      • overjustic@lemm.ee
        link
        fedilink
        arrow-up
        2
        ·
        10 months ago

        Its not like games that tried to be realistic before didn’t exist and not like games that purposely go for a non realistic style now are not a thing. I’m pretty sure we have more pixel style graphics games coming out now yearly than when they were actually a thing.

        • Riven@lemmy.dbzer0.com
          link
          fedilink
          arrow-up
          2
          ·
          10 months ago

          We have more indie pixel games coming out yearly than all of the original consoles put together during their lifetime I’m pretty sure.

          • pomodoro_longbreak@sh.itjust.works
            link
            fedilink
            arrow-up
            2
            ·
            10 months ago

            I wouldn’t be surprised. You probably have young people making games that have nostalgia for games made in the style of 8bit, more than the games that were made that way because of tech constraints.