Pergunta

estou a usar OpenGl es com um dispositivo de baixa resolução e incorporado.

Apliquei um gradiente de cores vertical, usando coloração de vértices, em um grande polígono que serve como pano de fundo para minha cena renderizada. Eu posso ver artefatos claros de faixas visíveis no gradiente de cores.

Minha experiência principal é usar renderizadores de software. Com renderizadores de software, é comum derrubar bandas mach e outros artefatos de faixas. Frequentemente, fazemos isso durante a etapa de quantização da renderização de um quadro, onde as representações de ponta de alta precisão das cores são transformadas em uma saída de menor precisão (geralmente com componentes inteiros). Atingimos o Dithering arredondando aleatoriamente o componente inteiro final para cima ou para baixo, para inserir apenas o menor ruído na imagem com a qual enganar o olho para ver um continuo e misturar -se entre as cores.

Minha pergunta é se posso conseguir isso usando o OpenGL ES? Esse tipo de parte do pipeline do OpenGL é, ou devo pular a cor de vértice e renderizar o gradiente a uma textura e aplicar um pouco de ruído a ele?

Foi útil?

Solução

Você já tentou Glenable (Gl_dither)? Normalmente, inicialmente está ativado, mas nunca trabalhei com GLS ou em um dispositivo incorporado. Também pode depender da profundidade de cores que você está usando no buffer de quadros, você obterá artefatos se tiver apenas 4 bits por canal.

Outras dicas

Eu nunca ouvi falar do efeito que você descreve estar no tubo OGL. Meu conhecimento é um pouco datado neste momento, porém, então eu posso estar errado. Eu daria a renderização para a textura, se puder.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top