Вы можете использовать:
grep -r "string to be searched" /path/to/dir
r
означает рекурсивный поиск, поэтому он будет искать в указанном пути, а также в его подкаталогах. Это скажет вам имя файла, а также распечатает строку в файле, где отображается строка.
Или команда, аналогичная той, которую вы пытаетесь (пример:) для поиска во всех файлах javascript ( * .js):
find . -name '*.js' -exec grep -i 'string to search for' {} \; -print
Это будет печатать строки в файлах, где отображается текст, но не печатает имя файла.
В дополнение к этой команде, мы также можем написать это: grep -rn «String to search» / path / to / directory / or / file -r: рекурсивный поиск n: номер строки будет отображаться для совпадений
Самопрозрачность особенно сложна в WebGL и three.js. Вам просто нужно понять проблемы, а затем приспособить свой код для достижения желаемого эффекта.
Вы можете добиться внешнего вида прозрачной сферы в three.js с трюком: Вам нужно отобразить прозрачные сферы два - один с material.side = THREE.BackSide
и один с material.side = THREE.FrontSide
.
Использование таких методов обычно требуется, если вы хотите, чтобы самопрозрачность без артефактов - особенно если вы разрешаете камере или объекту двигаться.
Вот скрипка: http://jsfiddle.net/unkya/17/
EDIT: Обновлен скрипт до трёх. Js r.71
Сделайте клон исходной сетки и переверните ее нормали; затем сделайте два одинаковых «односторонних» материала для каждого с другим именем. Не самый классный подход, но он работал отлично. Я боролся с той же проблемой, вот что я сделал: P
. Файл .json выглядит так:
{
"materials":[
{ "name":"ext", "texture":"f_03.jpg", "ambient":[255.0,255.0,255.0], "diffuse":[255.0,255.0,255.0], "specular":[255.0,255.0,255.0], "opacity":0.7 },
{ "name":"int", "texture":"f_03.jpg", "ambient":[255.0,255.0,255.0], "diffuse":[255.0,255.0,255.0], "specular":[255.0,255.0,255.0], "opacity":0.7 }
],
"meshes":[
{
"name":"Cylinder001",
"material":"ext", ...
{
"name":"Cylinder002",
"material":"int", ...
Чтобы правильно отобразить эту сцену с альфа-смешением, треугольники должны отображаться с каждой стороны вперед. Ваша сцена особенно сложна, так как у вас есть один объект внутри другого и рендеринг обеих сторон, для чего потребуется отрисовка части сферы, затем куб, затем остальная часть сферы. Я сомневаюсь, что tr.js (или любая другая библиотека граф сцены) может обрабатывать этот случай.
Аддитивное или субтрактивное смешивание будет работать без сортировки, но выглядит не так хорошо.
Как правило, для создания прозрачных объектов вам нужно сортировать их спереди назад (я предполагаю, что 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
. Это только обрабатывает объекты, которые выпуклый и не пересекающийся (один объект целиком лежит внутри другого).