normals相关内容

LibGDX 网格高度图法线和灯光

我正在尝试让网格法线和灯光在 LibGDX 项目中工作. 我已经有从高度图纹理像素生成的纹理网格. 问题是我无法正确点亮法线.我也不是 100% 确定我在 TerrainChunk 类中正确设置了正常顶点. 以下是主类代码: 包com.me.terrain;导入 com.badlogic.gdx.Game;导入 com.badlogic.gdx.Gdx;导入 com.badlo ..
发布时间:2022-01-12 17:16:20 Java开发

Three.js:将面法线从局部空间转换为世界空间

我有一个 THREE.PlaneGeometry,带有 ComputeFaceNormals().我使用这个几何体创建了两个网格,并对它们应用了不同的旋转.我想计算相机和两个网格中心面法线之间的两个角度.应该是: vLocalCamera = vCamera.position - mesh1.position;mesh1.normal() .vLocalCamera = cos(角度); 问题 ..
发布时间:2021-12-31 18:52:01 其他开发

Three.js:负比例后如何翻转法线

我已经克隆并使用负比例翻转了一个对象,这导致我的单面反转.我的问题是,我怎样才能翻转法线? 我不想使用 material.side = THREE.DoubleSide,原因如下:1) 无法正常工作(一些阴影是从内部绘制的)和 2) 想要保持尽可能多的性能.所以 DoubleSide 不适合我. 如果翻转我的对象就是这样. mesh.scale.x = - scale_width; ..
发布时间:2021-12-31 18:25:05 其他开发

OpenGL - 如何计算地形高度网格中的法线?

我的方法是计算两个分别平行于 X 轴和 Y 轴的切向量.然后计算叉积以找到法向量. 切向量由穿过两个最近线段中点的直线给出,如下图所示. 我想知道是否有更直接的计算,或者在 CPU 周期方面成本更低. 解决方案 通过使用“有限差分法"(或者至少我认为它是这样调用的),您实际上可以在没有叉积的情况下计算它. 实际上它足够快,我可以用它在顶点着色器中实时计算法线. //# ..
发布时间:2021-12-19 17:56:47 其他开发

OpenGL ES20 - 点亮一个立方体,如何获得法线?

要向我的 OpenGL ES20 立方体添加一些闪电,我需要计算每个平面的法线.我找到了关于闪电的“教程",但他们只是将法线硬编码到立方体中,在我看来这不是最佳选择,因为它似乎有限? 所以我对立方体的处理方法如下: private float[] mVertices = {-1, -1, -1,//左下角1, -1, -1,//右下角返回1, 1, -1,//右上角-1, 1, -1,// ..
发布时间:2021-11-25 04:37:23 移动开发

计算面法线和缠绕

给定一个凸多面体,其顶点(x,y,z)指定了多面体的面. 如何计算多面体每个面的表面法线? 我需要表面法线来计算顶点法线以执行 Gouraud 着色.我能找到的关于如何做到这一点的唯一线索是 Newell 的方法,但我如何确保法线是向外的法线而不是向内的?感谢您的帮助. 解决方案 计算人脸法线 您必须计算跨越包含给定面的平面的两个向量的叉积.它为您提供了该面的(非单位)法 ..
发布时间:2021-11-25 02:16:11 C/C++开发

八顶点立方体的法向量

我正在玩 WEBGL,今天遇到了我的立方体顶点法线的问题. 我用立方体网格检查了我的代码来自互联网 并且效果很好. 问题是来自互联网的立方体有 24 个顶点(每个面 4 个 * 6 个面),我认为这对我的立方体来说太多了. FIDDLE MY CUBE |FIDDLE INTERNET CUBE(我的代码位于第 200 行) 我发现一个立方体不需要超过 8 个顶点和 12 ..
发布时间:2021-11-25 01:52:13 前端开发

如何统一法线方向

我一直在尝试实现一个所有面法线都指向外的网格.为了实现这一点,我从 *.ctm 文件加载网格,然后遍历所有三角形以确定使用叉积的法线,如果法线指向负 z 方向,我翻转 v1 和 v2(因此是正常方向).完成后,我将结果保存到 *.ctm 文件并使用 Meshlab 查看. Meshlab 中的结果仍然显示法线同时指向正方向和负 z 方向(可以从黑色三角形看到).还有观看的时候Meshlab ..
发布时间:2021-11-25 01:41:14 C/C++开发

计算最终在接缝处的 2 个网格之间的法线

我的任务 我目前正在为 Unity3D 创建一个地形,它专门用于运行应用程序内存不足的移动设备.允许地形大小为 15.000 x 15.000 公里,高度从 -1.000 米到 10.000 米,唯一的限制是硬盘空间. 情况 现在一切正常,只是不同网格之间的法线(每个网格都有一个细分级别)没有正确计算.这里有两张图片可以形象化这个问题: 问题仅在从一个细分级别过渡到另一个细 ..
发布时间:2021-11-25 01:32:15 C#/.NET

从 3D 三次贝塞尔路径获得一致的法线

我正在编写一个包含 BezierPoints 列表的 BezierPath 类.每个 BezierPoint 都有一个位置、一个 inTangent 和一个 outTangent: BezierPath 包含用于从路径获取线性位置和切线的函数.我的下一步是提供从路径中获取法线的功能. 我知道 3D 中任何给定的线都会有无限多的垂直线,所以不会有固定的答案. 我的目标是让用户能够在 ..
发布时间:2021-11-25 00:54:21 C#

从两个单独的对象在 Three.JS 中对齐人脸

我的 Three.js 代码有问题. 我试图通过选择两个面来对齐两个对象,并使第二个面(和对象)旋转以匹配第一个对象所选面的法线向量. 到目前为止我有: var normalMatrix = new THREE.Matrix3().getNormalMatrix(object.matrixWorld);var worldNormal = face.normal.clone().app ..
发布时间:2021-09-07 19:11:09 前端开发

Three.js:在非索引 BufferGeometry 上平滑法线

我正在尝试从非索引的 BufferGeometry 开始平滑网格的法线.之前已经回答过这个问题 但是 Three.js api 自那以后发生了很大变化我不能让它在 r130 上工作 据我所知,我需要先合并顶点以获得索引的 BufferGeometry 然后重新计算法线,但它似乎不起作用. 这是一个使用默认立方体的最小示例: //场景const Scene = new THREE.Sc ..
发布时间:2021-09-07 19:01:33 前端开发

在球体上的three.js中翻转法线

我一直在四处寻找,但还没有找到对我的问题的任何真正好的答案..问题是我有这个球体..只是一个基本的球体,我想翻转法线球体获得一种“空心/雕刻效果",然后将我的纹理应用到球体的“内部".关于如何翻转法线的任何想法? 另外..如果在three.js中无法做到这一点..是否可以导入一个法线已经翻转的模型并获得我正在寻找的效果? 解决方案 您可以通过反转面的缠绕顺序来翻转几何体中的法线.然后 ..
发布时间:2021-09-07 18:44:39 其他开发

向 vanilla wegl 中的变换立方体添加定向光

如何向 webGL 中的变换立方体添加方向光. 我知道它需要法线并且我已将它们添加到代码段中(我已将它们注释掉) 它还需要在顶点着色器中进行一些数学运算.不幸的是,当我取消注释时,此代码不起作用. 属性vec4坐标;统一 mat4 变换矩阵;属性 vec3 正常;属性 vec4 颜色;统一的 vec3 lightColor;统一 vec3 lightDirection;变化的 vec ..
发布时间:2021-07-23 20:05:30 前端开发

Three.js - 从 X、Y 和 Z 轴的标准化方向设置对象的旋转

从模型文件对象定义中,新对象的位置由 location(空间中的一个点)和 X 轴、Y 轴和 Z 轴的归一化方向给出轴. 我如何将其转换为 THREE.Euler 以便我可以在空间中正确旋转我的对象. 所以轴是关闭类型THREE.Vector3.如果新对象与 world 对齐,则值将是: xAxis = new THREE.Vector3( 1, 0, 0 );yAxis = new ..
发布时间:2021-07-10 19:40:54 其他开发

如何优化“软正态"计算功能?

我需要为OpenGL应用程序生成软法线,但是此函数的处理时间是荒谬的.对它进行概要分析后,看来我的多地图放置处理时间非常高.我进行了一些研究,发现可以在插入/位置上使用提示,但是不知道如何实现它,即使我的方法是生成法线的最佳方法也不知道.如果您知道更好的方法或方法来加快此代码段的速度,我将很乐意听到. void Controller :: TerrainFactory :: GenerateN ..
发布时间:2021-04-19 19:52:13 C/C++开发

在着色器中旋转法线

我有一个场景,其中包含多个具有各自位置和旋转角度的模型.在给定法线的情况下,着色器将简单的双向照明应用于每个像素. 那是我的顶点着色器. #version 150 in vec3 position; in vec3 normal; in vec2 texcoord; out vec3 f_normal; out vec2 f_texcoord; uniform mat4 mode ..
发布时间:2020-11-16 01:54:36 其他开发

Three.js:如何在负比例缩放后翻转法线

我克隆了一个物体,然后使用负比例翻转了一个物体,这导致了我的单面倒转.我的问题是,我也该如何翻转法线? 我不想使用material.side = THREE.DoubleSide,原因如下:1)不能正常工作(某些阴影是从内部绘制的)和2)想要保持尽可能多的性能.所以DoubleSide对我来说不是一个选择. 那是我的物体翻转的方式. mesh.scale.x = - scale_ ..
发布时间:2020-07-06 06:18:41 其他开发