gpt4 book ai didi

javascript - Three.js 禁用深度测试

转载 作者:数据小太阳 更新时间:2023-10-29 06:12:47 33 4
gpt4 key购买 nike

我使用 EffectComposer :

renderer = new THREE.WebGLRenderer();
renderer.setDepthTest(false);
...
composer = new THREE.EffectComposer( renderer);

所以我想禁用深度测试,但是当我这样做时:

composer.render();
var gl = renderer.context;
alert(gl.getParameter(gl.DEPTH_TEST));

该值为 true 而不是 false。如何禁用深度测试?

谢谢。

最佳答案

我意识到这是三年后的事情,但我在研究 Three.js(版本 r73)中的 z-buffer 时遇到了它。为了在渲染器中禁用 DEPTH_TEST,我最终执行了以下操作(Google Chrome 版本 47.0.2526.106 m):

var renderer = new THREE.WebGLRenderer( { antialias: true });
renderer.setClearColor(0xaaaaaa);
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.context.disable(renderer.context.DEPTH_TEST);
document.body.appendChild(renderer.domElement);

var render = function () {
requestAnimationFrame(render);
renderer.render(scene, camera);
};

render();
var gl = renderer.context;
alert(gl.getParameter(gl.DEPTH_TEST));

在创建渲染器时使用键 renderer.context.disable(renderer.context.DEPTH_TEST)

我一开始尝试使用 renderer.setDepthTest(false) 但它实际上没有加载。我没有深入研究这是否只是与我现有项目的交互、实际错误或可能已删除,但现在我建议只使用上述工作方法。

关于javascript - Three.js 禁用深度测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11433794/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com