Ambiente: WebGL, Chrome. Ho il seguente comportamento quando uso png trasparenti come trame per i modelli:Comportamento delle trame trasparenti in WebGL
- Immagine A: l'albero nasconde l'edificio dietro di esso e vedo la trama della scatola del mondo. Si nasconde anche (sportelli posteriori non sono visibili)
- Allo stesso tempo - Immagine B - funziona correttamente, la finestra è trasparente e vedo cosa c'è dietro
Entrambe le schermate sono state realizzate contemporaneamente sulla stessa scena da diverse posizioni della telecamera. Le trame sono prodotte dallo stesso algoritmo.
Non riesco a capire quale sia la differenza tra trasparenza di finestre e rami. La mia domanda principale è: come sistemare i rami in modo da non nascondere gli oggetti dietro di loro? Codice Shader è:
gl_FragColor = vec4(textureColor.rgb * vLightWeighting, textureColor.a);
Ho giocato con abilitare/disabilitare la miscelazione e depth_test, a volte ottenendo i risultati desiderati, ma non è sicuro se è il modo corretto di fare le cose.
Grazie per la risposta chiara. Posso eseguire il rendering nell'ordine richiesto. Solo il problema rimanente quindi - si sovrappongono automaticamente. L'albero nell'esempio "nasconde" i rami posteriori di fronte. Supponiamo che sia impossibile risolverlo con i metodi usuali. Almeno il 90% dei problemi ora viene risolto, eseguendo il rendering nell'ordine corretto. – Vecnas
@Toji C'è un buon approccio per ordinare gli oggetti in base alla profondità? Greeings – schlenger