Как правило, для создания прозрачных объектов вам нужно сортировать их спереди назад (я предполагаю, что three.js уже делает это). Если ваш объект выпуклый (как и оба из них), вы иногда можете получить рендеринг каждого объекта дважды, один раз с gl.cullFace (gl.CCW) и снова с gl.cullFace (gl.CW). Например, если куб находится внутри сферы, в которой вы эффективно выполняете
gl.enable(gl.CULL_FACE);
gl.cullFace(gl.CW);
drawSphere(); // draws the back of the sphere
drawCube(); // draws the back of the cube
gl.cullFace(gl.CCW);
drawCube(); // draws the front of the cube.
drawSphere(); // draws the front of the sphere.
, я понятия не имею, как это сделать в файле three.js
. Это только обрабатывает объекты, которые выпуклый и не пересекающийся (один объект целиком лежит внутри другого).