ich setze den z wert im vertex-shader.
die z-reihenfolge stimmt, wenn ich gl.enable(gl.DEPTH_TEST) setze, allerdings geht dann das blending kaputt... linkes bild ist mit DEPTH_TEST rechts ohne. wie kann ich beides gleichzeitig zum laufen bringen?
ich habe gelesen, dass man selbst vorsortieren muss für das blending, ist das korrekt? Ich habe es jetzt zumindest mal so gelöst.
Code: Alles auswählen
gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);//premultiplied alpha
gl.enable ( gl.BLEND ) ;
gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
//gl.enable(gl.DEPTH_TEST);
gl.depthFunc(gl.LEQUAL);
wie im bild oben rechts ersichtlich gibt es bei überlagerungen von schatten dunklere bereiche. bislang hatte ich mich damit abgefunden, aber eigentlich müsste es doch möglich sein dies zu beheben. ich versuch jetzt schon seit etwa zwei stunden mit blending dahinter zu kommen, aber bislang ohne erfolg. auf dem alpha-kanal müsste ich eine art Max function haben. hab online ein cooles tool gefunden, aber ich find keine passende kombination http://mrdoob.github.io/webgl-blendfunc ... arate.html.