[英]Dynamically switch antialiasing on/off with three.js
是否可以使用three.js动态打开/关闭抗锯齿功能? 我尝试了以下根本不起作用的方法:
`
var rendererAA = new THREE.WebGLRenderer({{ antialias: true }});
rendererAA.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( rendererAA.domElement );
var rendererNA = new THREE.WebGLRenderer({{ antialias: false }});
rendererNA.setSize( window.innerWidth, window.innerHeight );
rendererNA.domElement = rendererAA.domElement;
var renderer = rendererAA;
function render() {
if (somePredicate) {
renderer = rendererAA;
}else {
renderer = rendererNA;
}
requestAnimationFrame( render );
renderer.render( scene, camera );
}`
如果活动渲染器是rendererNA(somePredicate = false),则场景只是冻结,并且抗锯齿没有变化。
我还尝试将不活动的渲染器domElement设置为null,这没有帮助。 这个问题启发了我:
但是没有确切的答案。
目前无法使用Three.js。
您需要重新创建整个上下文,以允许打开和关闭AA,并且不能在两者之间进行切换。 我建议您具有布尔变量,这些变量确定在执行客户端之前是否打开和关闭AA。 Eh HD / SD,如果HD布尔值AA = true,请使用WebGLRenderer允许AA和反向。 但是您不能在运行时动态更改此设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.