Как показать сетку в объекте в три js?

Используйте этот код, чтобы найти запись между двумя датами, используя $gte и $lt:

db.CollectionName.find({"whenCreated": {
    '$gte': ISODate("2018-03-06T13:10:40.294Z"),
    '$lt': ISODate("2018-05-06T13:10:40.294Z")
}});
8
задан mudin 16 January 2019 в 03:01
поделиться

1 ответ

Этот результат я достиг с помощью буфера трафарета: https://jsfiddle.net/mmalex/g3hf4zxc/

Stencil buffer clipping threejs Grid by Mesh

const gl = renderer.getContext();
polygon.onBeforeRender = function () {
    gl.enable(gl.STENCIL_TEST)
    gl.stencilFunc(gl.ALWAYS, 1, 0xFF);
    gl.stencilMask(0xFF);
    gl.stencilOp(gl.KEEP, gl.KEEP, gl.INCR);
}
polygon.onAfterRender = function() {
    gl.disable(gl.DEPTH_TEST);
}
polygon.renderOrder = 999;

gridHelper.onBeforeRender = function() {
    gl.enable(gl.STENCIL_TEST)
    gl.stencilMask(0x00);
    gl.stencilFunc(gl.EQUAL, 1, 0xFF);
}
gridHelper.onAfterRender = function() {
    gl.disable(gl.STENCIL_TEST)
}
gridHelper.renderOrder = 1000

К сожалению, я пожертвовал непрозрачностью сетки, поскольку threejs независимо сортирует непрозрачные и прозрачные объекты:

.renderOrder: Number Это значение позволяет переопределить порядок рендеринга объектов графа сцены по умолчанию, хотя и непрозрачный и прозрачные объекты остаются отсортированными независимо. Сортировка от самого низкого до самого высокого renderOrder. Значение по умолчанию равно 0.

https://threejs.org/docs/#api/en/core/Object3D.renderOrder

0
ответ дан Alex Khoroshylov 16 January 2019 в 03:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: