У меня есть сцена A-Frame, в которой визуальный рендеринг улучшен с помощью logarithmicDepthBuffer: true
(бок о бок https://twitter.com/kfarr/status/1215897260275290112)
Но на мобильных устройствах и в Oculus Quest это приводит к нежелательным артефактам вблизи. Есть ли способ установить атрибут рендерера сцены "logarithmicDepthBuffer" на false
по умолчанию и true, если это настольный браузер, который должным образом поддерживает эту опцию? Или, возможно, вместо этого можно протестировать способность устройства поддерживать расширение webgl EXT_frag_depth
https://github.com/mrdoob/three.js/issues/13047 и только установить logarithmicDepthBuffer
на true
, если это так?
Обновить с частичным ответом: следующий код JavaScript успешно проверяет, поддерживается ли EXT_frag_depth
, см. ниже, но я все еще не могу получить это для динамического изменения настроек атрибута средства визуализации сцены A-Frame.
// create offscreen canvas to get gl context
var offscreen = new OffscreenCanvas(256, 256);
var gl = offscreen.getContext('webgl');
// try getting frag depth extension
var ext = gl.getExtension("EXT_frag_depth");
if (!ext) {
alert("extension does not exist");
}