我克隆并使用负刻度翻转对象,这会导致我的单面朝向反转.我的问题是,我怎样才能翻转法线呢?
我不想使用material.side = THREE.DoubleSide,原因是:1)没有正常工作(一些阴影是从内部绘制的)和2)想保持尽可能多的性能.所以DoubleSide对我来说不是一个选择.
这是我的对象如何翻转.
mesh.scale.x = - scale_width;
Run Code Online (Sandbox Code Playgroud)
提前致谢!
我有一个具有大量高质量纹理的模型,我努力保持整体内存使用率下降.我尝试过的一件事是在将mipmap推到GPU后删除它们,以便从公共RAM中重新获取纹理数据.这样做时,模型仍然使用一次上传的mipmaps纹理进行渲染.这很好,但内存根本没有下降.
material.mipmaps.length = 0;
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:
是否有对ThreeJS保留的mipmap的引用,即garbace收集器无法释放内存.或者是webGL本身引用的纹理,这似乎有点奇怪,因为webGL让我觉得纹理总是在专用内存中使用,因此必须复制.如果webGL在RAM中保留对原始纹理的引用,那么webGL在具有专用图形卡的台式机和具有共享公共RAM的板载图形卡的笔记本电脑上的行为会有所不同.
如果有人可以解释我在threeJS/webGL内部进行纹理参考的话会非常高兴.
如何尽可能快地检测到相机的眼睛是否可以看到 Threejs 对象?该obj.visible属性是二传,所以没有用的。此外frustumCullum还不够,因为它仅指示对象是否在相机视口之外。我需要知道一个物体是否隐藏在另一个更大的物体后面。
有人有想法吗?
干杯
马库斯
我有一个位置向量:
var startPos = new THREE.Vector3(1.2, -2.34, 0.5);
Run Code Online (Sandbox Code Playgroud)
方向向量:
var direction = new THREE.Vector3(0.657873735, -0.2497291683, 0.71051916);
Run Code Online (Sandbox Code Playgroud)
和距离:
var distance = 1;
Run Code Online (Sandbox Code Playgroud)
如何计算一个新的位置矢量,从开始startPos即移动distance沿着direction?
我使用摄影测量法拍摄了数千张用于3D重建的图像,我想使用Imagemagick或任何其他命令行软件来评估哪些图像太模糊.太卑鄙的含义:根据所有图像的平均模糊度/清晰度,可以轻松挑选出最糟糕的图像.但是如何评估模糊性.我已经进入FFT,快速Fournier变换,并认为在这里可以找到解决方案.可以通过IM -fft命令计算频率,该命令产生幅度和相位图像.如何使用这些图像来计算整体模糊/锐度因子?
更新:以下是我要处理的一些图片.真正的挑战是,所有图像都与这些类型中的许多其他图像一起放在一个文件夹中,需要检查运动模糊问题.我必须检测太高的运动模糊,并在进一步的制作中避免这些图像.
接下来的3张图像从所有图像中获得最低偏差,但在原始全分辨率版本中非常清晰.



由于白色区域,这两个图像具有较低的偏差,但也不缺乏足够的清晰度.


由于镶嵌,边缘检测带来各种边缘.从所有图像中,第一个图像模糊.

此图像具有低模糊度.
