Пример схемы threejs: https://threejs.org/examples/#webgl_postprocessing_outline
Я старался не использовать FXAA в примере, потому что FXAA приводит к плохому разрешению. Но после того, как я удалил коды FXAA, ничего не было отрисовано, и информация о консоли не появилась.
Обязателен ли FXAA при использовании Outline Pass? Как я могу удалить FXAA?





Удалите проход FXAA (строки 295-298) и включите renderToScreen для outlinePass: outlinePass.renderToScreen = true
При постобработке последний проход со включенным свойством renderToScreen будет отображаться на экране.
Также будьте осторожны, не включайте renderToScreen на разных проходах!
Просто установить outlinePass.renderToScreen = true не получается. Вместо этого вам необходимо заменить FXAAPass на:
var outputPass = new THREE.ShaderPass( THREE.CopyShader );
outputPass.renderToScreen = true;
composer.addPass( outputPass );
Демо: https://jsfiddle.net/f2Lommf5/5091/
three.js R91
EffectComposer пока не учитывает соотношение пикселей устройства (см. github.com/mrdoob/three.js/issues/12188). Кроме того, существует ограничение WebGL1: вы не можете использовать MSAA с пост-обработкой. Это изменится с WebGL2.
он работает, спасибо! Разрешение лучше без fxaa, но хуже без постобработки. Неизбежен ли это результат пропуска набросков? Или как исправить?