Включить / отключить отсечение для материала (r87)

pailhead спросил: 13 октября 2017 в 06:49 в: three.js

Я пытаюсь работать с плоскостями отсечения ТРИ, я не читал описание Material.clipIntersection и просто вслепую воспринимал это как "включено отсечение".

После Прочитав описание, поиграв с примером и покопавшись в коде, я пришел к выводу, что нет параметра для управления, включено ли отсечение или нет. Только два интерфейса:

.clippingPlanes[]

.clipIntersection

И, возможно, Renderer.localClippingEnabled но я не хочу глобально включать / отключать ... локальное отсечение. То есть. если у меня есть два материала, я хотел бы иметь возможность управлять им на одном.

Кажется, проблема в том, что clippingPlanes определяет NUM_CLIPPING_PLANES:

'#define NUM_CLIPPING_PLANES ' + parameters.numClippingPlanes,

И я вижу, что с WebGLClipping происходит больше вещей. Тем не менее, меня смущает определение, и мне интересно, нужно ли мне обновлять материал каждый раз, когда я добавляю / удаляю плоскости отсечения.

tl: dr;

Есть ли встроенный чтобы легко добавить переключатель для включения / выключения отсечения в этом примере: https://threejs.org/examples/#webgl_clipping_intersection, без перекомпиляции шейдера?

0 ответов