Pergunta

Eu gostaria de ter dois shaders de pixels; o primeiro a fazer uma coisa e depois a próxima fazendo outra coisa. Isso é possível, ou eu tenho que colocar tudo no shader?

Foi útil?

Solução

Você pode fazer isso, por exemplo, fazendo chamadas de função do ponto de entrada principal para funções implementadas nos vários objetos do shader.

main() {
    callToShaderObject1()
    callToShaderObject2()
}

Cada uma dessas funções CalltoshadeRObject pode viver em diferentes objetos de shader, mas todos os objetos precisam ser anexados e vinculados no mesmo programa antes que ele possa ser usado.

Outras dicas

Eles não podem correr ao mesmo tempo, mas você é livre para usar shaders diferentes para geometria diferente ou renderizar em vários passes usando shaders diferentes.

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