Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-76709 Lightmap support
  3. QTBUG-107504

Future lightmap baking improvements

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • Quick: 3D
    • None
    • Qt Quick 3D - 2021 - Weeks 5/6, Qt Quick 3D - 2021 - Weeks 7/8, Qt Quick 3D - 2021 Week 9 - 10, Qt Quick 3D - 2021 Week 11/12, Qt Quick 3D - 2021 Week 13/14, Qt Quick 3D - 2021 Week 15/16, Qt Quick 3D - 2021 Week 17/18, 2022 Qt Quick 3D: Week 17-18, 2022 Qt Quick 3D: Week 19-20, 2022 Qt Quick 3D: Week 21-22

    Description

      • How to integrate the denoiser tool. Right now the docs link to a public git.qt.io repo https://git.qt.io/laagocs/qlmdenoiser and the story is to build it yourself.
      • Sky/environment sampling for indirect illumination? The sky (environment) should perhaps be "sampled" when nothing is hit by the ray in the first bounce in indirect. At least when the background mode is SkyBox (so there is a skybox "light probe"), probably not in other cases. But does this make sense? (considering also that IBL happens as usual regardless of using or not using a lightmap) Not sure.
      • Specular. Just losing it when BakeModeAll is not great, should have at least the option to do SH, e.g. L1 SH? (but that's already 12 floats per lightmap texel to store and then load, instead of 3 (4))
        • This may then involve having to think about roughness and roughness maps.
        • Needs experimenting, also changes the stored data (cannot just have a single .exr file per lightmap)
      • Atlasing. We do not do any atlasing, each lightmap image is its own texture, both on disk (a .exr file) and then at runtime. This is not strictly bad, and is the same as any other texture map. But later on it should be considered if packing together multiple maps into the same image is something we want.
      • Could get saner lightmap size hints somehow? for now gave up and just passing in lightmapBaseResolution in xatlas::PackOptions::resolution, defaulting to 1024 so it's more like up to the user. Perhaps could do something with the scale from the world transform. (NB unwrapping is in model space, not in world, which is something to think about in the first place; could do it in world (baking in the transform is no different what we need for Embree) but then having to rewrite the geometry ruins everything because the renderer cannot work with the baked-transform geometry..) NB now with balsam again having the option to generate UVs, doing it in world space is not an option.
      • Storage and tooling details. Currently very manual: set a unique key per model, launch the scene in baking mode (cmd.arg./env.var.), know that it generates a file with a given name, then ensure the file is then shipped with the project. How do we get to the magic just-works "Bake lightmaps" button in Design Studio?

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lagocs Laszlo Agocs
            lagocs Laszlo Agocs
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes