Uploaded image for project: 'Snowstorm'
  1. Snowstorm
  2. STORM-2055

Real mirror reflections on prims

    XMLWordPrintableJSON

    Details

    • Type: Story
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:

      Description

      To enhance the immersion in Second Life I propose the rendering of real mirror reflections on flat prim surfaces. I created a patch that does this, however it's in a very early stage, currently only able to render mirrors in forward rendering mode, not in deferred rendering. I am not nearly as good with 3d graphics as I would like to be, and I only know very little about the render pipeline, so this patch is probably not the best quality. But I am sure it can be enhanced with the right knowledge behind it.

      There are still a few issues:

      • sometimes mirrors disappear after being occluded
      • particles showing the wrong orientation in the mirror (same error with LL water reflections)
      • alpha sorting is backwards in the mirror axis (same error with LL water reflections)

      These need to be addressed, maybe by someone who has more knowledge than I have, or I maybe I can fix them myself. I will keep on trying to improve this patch and I would be glad if I could get some help to make this a reality for all Second Life users.

      Since I can't change the server end, I had to "hack" a little to make mirrors appear on chosen surfaces only. The final implementation probably should include a "mirror" percentage spinner that is saved server side, and the viewer renders the mirror with the selected reflectiveness on top of that face.

      The patch applies cleanly to viewer-release.

      How to create a mirror with this patch:

      • check out viewer-release from Linden Lab's bitbucket
      • apply the patch attached to this Jira
      • compile the viewer
      • obtain the mirror texture I made (just send me an IM) or change the mirror texture UUID in the settings to one you want to use
      • apply the texture to any flat prim face
      • make the face transparent to make the mirror come up, higher transparency means more reflectiveness

      Enjoy!

        Attachments

        1. argent_stonecutter_inside_the_pile!_139865.jpg
          46 kB
          Adeon Writer
        2. mirror_second_life_v3_rev1.diff
          38 kB
          Zi Ree
        3. Second Life 3.7.14 (32209)+patch.png
          1.49 MB
          Whirly Fizzle
        4. Sphere Reflective Environment Mask.png
          555 kB
          Mahkoksis Hansome
        5. Sphere Reflective No Materials.png
          521 kB
          Mahkoksis Hansome
        6. Sphere Reflective Normal + Env Mask.png
          664 kB
          Mahkoksis Hansome
        7. Sphere Reflective Normal Mapped.png
          764 kB
          Mahkoksis Hansome
        8. Untitled.png
          2.25 MB
          Adeon Writer

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              zi.ree Zi Ree
            • Watchers:
              215 Start watching this issue

              Dates

              • Created:
                Updated: