Flags de composição controlam transparência por pixel e interpretação de cor. Veja como evitar halos, bordas escuras e mistura inconsistente entre runtimes.
Resposta direta
O OpenXR usa flags de composição para informar se o canal alpha da textura deve participar da mistura e se as cores chegam não premultiplicadas. Sem XR_COMPOSITION_LAYER_BLEND_TEXTURE_SOURCE_ALPHA_BIT, o runtime trata o alpha da camada como um. Quando a aplicação ativa transparência, deve declarar corretamente se RGB já foi multiplicado por alpha; a combinação errada produz halos, escurecimento ou bordas coloridas em painéis e conteúdo sobre passthrough.
Alpha precisa ser habilitado
Ter um formato RGBA não basta; sem a flag de source alpha, a camada é tratada como opaca na composição.
Premultiplicação muda a matemática
Assets, render targets e shaders devem concordar sobre se RGB já incorpora alpha. Conversões duplicadas ou ausentes aparecem principalmente nas bordas.
Ordem de camadas altera o resultado
O runtime compõe na sequência enviada. Transparência sobre transparência precisa de uma ordem deliberada e consistente com o efeito visual esperado.
Bit antigo não deve orientar arquitetura
A correção de aberração cromática está depreciada e é ignorada em runtimes conformes conhecidos; novas implementações não devem depender dela.
Leitura Nexus
Defina uma convenção de alpha por pipeline, automatize testes de borda e valide painéis sobre fundos claros, escuros e passthrough em cada runtime.
Perguntas frequentes
Uma textura RGBA fica transparente automaticamente?
Não. A camada precisa habilitar o uso do source alpha na composição.
O que significa alpha não premultiplicado?
Significa que os canais RGB ainda não foram multiplicados pelo valor alpha.
Como evitar halos?
Mantenha asset, shader, render target e flag de composição na mesma convenção e teste bordas em fundos variados.
Guias essenciais para aprofundar a decisão
Esta análise editorial foi produzida pela Nexus a partir das fontes oficiais abaixo, consultadas em 27 de outubro de 2026. O texto é original e interpreta implicações práticas para empresas.
- Khronos — XrCompositionLayerFlagBits: flags de alpha da textura, cores não premultiplicadas e bit depreciado.
- Khronos — OpenXR 1.1 specification: regras de blending, ordem das camadas e composição pelo runtime.
Data informada pela fonte principal: OpenXR 1.1.65 consultado em 27 de outubro de 2026; análise técnica.

