问题标签 [buffer-geometry]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1545 浏览

three.js - ThreeJS:将 BufferGeometry 与 Line 一起使用

出于性能原因,我想迁移到BufferGeometry而不是Geometry. 它适用于MeshParticleSystem对象,但是当将 a 的几何设置Line为 a 时BufferGeometryinitLineBuffer()需要geometry.vertices一个 BufferGeometry 没有的 Vector3 数组。

调用栈:render --> initWebGLObjects --> addObject --> initLineBuffers

有没有一个简单的解决方案,或者我需要破解?;)

0 投票
1 回答
1477 浏览

javascript - BufferGeometry 面向材质

使用 BufferGeometry 时,如何将材质分配给面?

是否有类似数组的东西包含相同的信息Face#materialIndex

0 投票
2 回答
1115 浏览

three.js - threejs 缓冲几何和线框

是否可以进行线框图绘制THREE.BufferGeometry?我认为threejs不支持这一点,您可以在threejs源中将_gl.TRIANGLES更改为_gl.LINES(或LINES_STRIP),结果会很奇怪。

http://oi40.tinypic.com/15tsux.jpg (缓冲几何在底部)

github上还有一个老问题没有提供解决方案 https://github.com/mrdoob/three.js/issues/1275

需要做什么才能启用对线框的支持THREE.BufferGeometry?我想尝试实施它,但我不确定需要做什么。

0 投票
1 回答
3001 浏览

three.js - Three.js - 大型网格的 BinaryLoader 与 BufferGeometry?

我正在寻找一种将大型多边形网格(最多 1M 个三角形)加载到 Three.js 的最有效方法。我正在考虑使用THREE.BufferGeometry对象或加载THREE.BinaryLoader. 我的问题是:

  • BinaryLoader.js在下面创建一个THREE.BufferGeometry对象吗?或者它是否创造了同样有效的东西?
  • 如果没有,有没有人推荐使用哪一个?

一些附加信息:

  • 我的模型在服务器上是专有格式,所以无论如何我都需要对它们进行转换/编码。
  • 我还没有找到一个可以创建THREE.BufferGeometry. 看来我需要自己写。但我可以准备服务器端的数据以与THREE.BufferGeometry结构对齐。
  • BinaryLoader.js为加载数据提供了所有必要的基础设施,但需要在服务器端以特殊方式准备数据。
0 投票
2 回答
4216 浏览

javascript - 如何使用 BufferGeometry 绘制简单的正方形?

如何使用 绘制简单的正方形BufferGeometry?例如BufferGeometry绘制 120000 个三角形,我想将其分解为两个,形成一个简单的正方形。

0 投票
1 回答
284 浏览

javascript - Face4 与 BufferGeometry

是否可以将正方形而不是三角形送入 BufferGeometry ?

如果是这样,如何?我查看了源代码,但似乎没有任何具体内容。当我尝试简单地更改属性中的 numItems 值时,我得到以下显示:

在此处输入图像描述

0 投票
1 回答
13987 浏览

javascript - 将几何转换为 BufferGeometry

据我了解,Geometry 存储顶点和面的 javascript 对象结构,而 BufferGeometry 仅通过 Float32Arrays 等存储原始 gl 数据。

有什么方法可以将标准几何转换为 BufferGeometry,它的内存更紧凑,对象更少?例如,如果我创建一个新的 SphereGeometry,有没有办法轻松地将其转换为 BufferGeometry?

0 投票
1 回答
1200 浏览

javascript - Three.js:Raycast 与 BufferGeometry 的交点

由于 R59 可以在线进行光线投射,而且效果很好。我在鼠标悬停时显示工具提示。

由于数据不断增长,我遇到了性能问题,所以我决定THREE.GeometryTHREE.BufferGeometry. 一切正常,而不是光线投射......我在鼠标悬停时没有收到任何错误或其他东西,真的什么都没有发生!

是否可以在与 建立的线上相交光线投射THREE.BufferGeometry

0 投票
1 回答
3019 浏览

javascript - 基于 BufferGeometry 的 Three.js 网格未出现

我正在使用 Three.js 开发 WebGL 游戏,我决定THREE.BufferGeometry从我的(工作)常规THREE.Geometry解决方案切换到实现。我搞砸了,因为网格没有绘制。我在下面给出了我的代码的相关部分。如果我切换到常规几何,一切正常。

这是一个基于体素的游戏,我已经将每个立方体的每个面预先创建为常规的THREE.Geometry. 该positionVertices函数从每个面几何体中获取顶点和面,定位它们以使它们对应于体素,并为THREE.BufferGeometry. 没有错误或警告,最终的网格不会出现。我怀疑我的问题与 Three.js 的关系不大,更多的是因为我对 3D 图形编程的理解有限。我现在最好的猜测是它与索引不正确有关。如果我删除索引,对象就会出现,但一半的三角形的法线方向相反。

0 投票
0 回答
1005 浏览

javascript - BufferGeometry 上的 ShaderMaterial

我如何ShaderMaterial申请BufferGeometry?所有threejs示例以及我可以找到的所有BufferGeometry使用默认材料(MeshPhongMaterial例如)。

我有一个工作着色器Geometry,但是当我将它转换为BufferGeometry着色器时不再工作。(例如,我可能弄乱了着色器属性计数,没有任何解释BufferGeometry无济于事)。

ShaderMaterial请您指出任何工作示例或告诉我使用onGeometry和 on有什么区别BufferGeometry