最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Three.js disable depth test - Stack Overflow

programmeradmin1浏览0评论

I use an EffectComposer :

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

So I want to disable the depth test but when I do :

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

the value is true and not false. How can I disable the depth test ?

Thank you.

I use an EffectComposer :

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

So I want to disable the depth test but when I do :

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

the value is true and not false. How can I disable the depth test ?

Thank you.

Share Improve this question edited Apr 30, 2018 at 9:29 user1482030 asked Jul 11, 2012 at 13:31 user1482030user1482030 82713 silver badges24 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 7

I realize this is three years later, but I came across it while researching the z-buffer in Three.js (version r73). In order to disable DEPTH_TEST in the renderer, I ended up doing the following (Google Chrome Version 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));

with the key beingrenderer.context.disable(renderer.context.DEPTH_TEST) when creating the renderer.

I attempted to use renderer.setDepthTest(false) at first but it actually did not load. I didn't delve in depth to see if this is just an interaction with my existing project, an actual bug, or possibly removed, but for now I remend just using the above working method.

You can try

gl.disable(gl.DEPTH_TEST);
发布评论

评论列表(0)

  1. 暂无评论