Pergunta

Eu queria saber se havia uma maneira de fazer OpenGL ES tornar um lote de quads (processado com mudanças na página textura) e torná-los em ordem z (ou para trás).

Nota eu não quero um ZBuffer, eu só quero quads prestados, a fim de zDepth.

Agora eu sei que as pessoas vão dizer apenas torná-los em ordem, bem presto agrupados por página textura. No entanto, como você pode imaginar, há alguns casos em sprites de página necessidade uma textura para aparecer na frente de outro. Quando você só tornar em uma página textura tipo isso causa um problema.

Então eu queria saber se eu atribuídos os quads uma ordem z seria OpenGL ES respeitar isso?

Qualquer ajuda greatfully recebido.

Felicidades Rica

Foi útil?

Solução

Você não pode conseguir o que quiser sem Z Buffer / Profundidade buffer .. O que você está pedindo é trabalho Profundidade do tampão do feito sem permitindo-!!

Quando tampão Z está habilitado, toda vez que OpenGL desenha a um pixel .. ele verifica os pixels valor Z existente e, em seguida, decide se para desenhá-lo ou não.

Quando Depth Buffer não está habilitado ele simplesmente substitui independentemente do que o valor z de pixels anterior existente era.

Outras dicas

Sim, você pode definitivamente fazer isso, contanto que você

glEnable(GL_DEPTH_TEST);

e, claro, tem um monte de outras coisas direito. (Certifique-se de criar um buffer de profundidade, os valores de uso z que estão no alcance de sua vista tronco ...)

OpenGL ES não vai fazer isso por você. Ele vai respeitar a ordem que você especificar, ou seja, a ordem em que os quads são da chamada de desenho. Se você quer que eles para tornar seus quads classificadas segundo a Z, você vai ter que classificá-los a si mesmo antes de enviar para OpenGL ES.

Se você está usando um buffer de índice, você pode, obviamente, classificar apenas os índices. Mas você ainda tem que calcular a Z real mesmo.

Edit: Quanto à sua preocupação textura, devo acrescentar que o uso de diferentes texturas, ao mesmo tempo, você deve olhar usando atlas de textura (isto é, uma textura única que mantém as várias texturas que você deseja usar em diferentes partes) .

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