secondlife / secondlife/viewer

Unwanted edge transparency in BOM Universal Aux channel layers

Open
#5,948 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug stale
Dominant language
C++
Stars
299
Forks
146
Avg merge
1d 9h
Merged PRs (30d)
88

Description

There's a visual glitch when using more than one BOM texture layer on a Universal Aux channel if there's partial transparency in the texture using Blinn-Phong textures. I've made BOM textures with partial transparency for rigged fairy wings, so that customers could layer a stripey texture on top of the main wing texture. However, it's as if there's an outline of 100% transparency around the edges of the upper stripey texture that punches a hole straight through the underlying wing texture as well.

It shows up the most when in front of a bright background.

I tried making the stripe texture completely black with a 100% transparent background by converting it to a vector and then converting it back into a raster image in Photoshop, and this minimizes the issue so that it's only visible if you're very zoomed in, but this means there can't be layered BOM textures with blended edges at all on the Aux channels.

I had envisioned being able to make add-ons like colorful peacock 'eye' spots, faded edges, etc so people could really customize their wings' look, but this doesn't seem to be possible right now.It happens whether the files are PNG or TGA, with or without an alpha channel.Since the main wing textures have partial transparency, changing the blend mode to alpha mask would not solve the issue.

Hopefully you can see the problem in the screenshots. You might at first think it's the white outline 'halo' issue but no, it's actually that the edges have an outline that are completely clear so the background shows through.

https://secondlife.canny.io/admin/feedback/bug-reports/p/unwanted-edge-transparency-in-bom-universal-aux-channel-layers

Repro steps:
Test content is at https://maps.secondlife.com/secondlife/Danger!%20Danger!/71/81/38

  1. Wear the Ruth outfit from the library just so we're starting with the same.
  2. Wear '*Fancy Fairy - Teasel Fairy Wings 3.0 Aquamarine Aux3',
  3. Wear "Fancy Fairy - Teasel Fairy Wings 3.0 - default, Female - Bento2"
  4. Add "FF Teasel Fairy Wings 3.0 BlackStripeyAccent Add*"
  5. Stand in front of something bright, view the avatar from the front and look at the wings.

Observed: The background color shows through. See attached picture. (I'm using a different Aux3 in the screenshot but the effect is the same)

Image

Expected: The edges should not be transparent. Or an explanation of why they are transparent.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue at the supplied Danger! Danger! location using the listed Ruth outfit and fairy-wing layers, with a bright background. Trace the BOM Universal Aux channel compositing path for Blinn-Phong textures and compare the upper layer's partially transparent edges with the underlying layer. Done means layered edges no longer reveal the background while existing partial transparency remains supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.