Skip to content
This repository has been archived by the owner on Mar 28, 2024. It is now read-only.

[BUG-6187] Prim faces with opaque diffuse maps, with material set to ALPHA_MODE_BLEND, do not render when ALM is enabled #14074

Open
4 tasks
sl-service-account opened this issue May 28, 2014 · 2 comments

Comments

@sl-service-account
Copy link

sl-service-account commented May 28, 2014

Steps To Reproduce

  • Teleport to http://maps.secondlife.com/secondlife/La%20Galleria/5/179/26

  • Enable Advanced Lighting Model Under Preferences -> Graphics -> Advanced.

  • Watch logfile or Develop -> Consoles -> Debug Console.

  • Disable Advanced Lighting model and watch the log spam stop.

    Observed Behaviour

  • When Advanced lighting model is enabled, about 30-40 lines will be written to the log each second saying:

    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
    2014-05-28T16:19:23Z WARNING: LLDrawPoolAlpha::renderAlpha: Missing required components, skipping render batch.
  • When ALM is disabled, the log spam stops.

  • Attached my 16MB log file after only being in this location for about 15mins.

    Expected Behaviour

    Less spammy logging

Attachments

Links

Duplicates

Related

Original Jira Fields
Field Value
Issue BUG-6187
Summary Prim faces with opaque diffuse maps, with material set to ALPHA_MODE_BLEND, do not render when ALM is enabled
Type Bug
Priority Unset
Status Been Triaged
Resolution Triaged
Reporter Whirly Fizzle (whirly.fizzle)
Created at 2014-05-28T16:17:12Z
Updated at 2015-01-16T19:27:20Z
{
  'Business Unit': ['Platform'],
  'Date of First Response': '2014-05-29T13:00:15.885-0500',
  'System': 'SL Viewer',
  'Target Viewer Version': 'viewer-development',
  'What just happened?': '.',
  'What were you doing when it happened?': 'Filling in',
  'What were you expecting to happen instead?': '.',
  'Where': 'http://maps.secondlife.com/secondlife/La%20Galleria/5/179/26',
}
@sl-service-account
Copy link
Author

Maestro Linden commented at 2014-05-29T18:00:16Z

This can happen if you have ALM enabled and an opaque diffuse map which has the alpha mode set to blended. When you set the diffuse map to an opaque texture, the viewer usually changes the alpha mode to 'none' automatically, but this doesn't happen if you change the texture via script.

Repro:

  1. Enable ALM
  2. Rez a box, and set the diffuse texture on the box to something with an alpha channel (e.g. "Water Particle 1")
  3. Add a default normal map to the box
  4. Save the below script in the box, which sets face 0 to have the default plywood texture (which doesn't have an alpha channel):
    default
    {
        state_entry()
        {
            llSetTexture(TEXTURE_DEFAULT, 0);
        }
    }
    

Expected results:

  • The top face of the box should render, and appear with the plywood texture (opaque) with the default plywood normal map applied
    • Even though the alpha mode is still set to ALPHA_MODE_BLEND, the viewer should be smarter and treat the face as ALPHA_MODE_NONE, since there is no alpha channel to process

Actual results:

  • The viewer spams that LLDrawPoolAlpha::renderAlpha message (this is pretty frustrating if you don't know which prim face in the scene is causing it)
  • The top face of the box ceases to render

@sl-service-account
Copy link
Author

Maestro Linden commented at 2014-05-29T18:02:05Z

This bug is more of a problem with the upcoming LSL support for materials, as the sim has no knowledge of which textures contain an alpha channel, and cannot automatically update the diffuse alpha mode (as the viewer typically does).

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant