gpt4 book ai didi

javascript - BufferGeometry 偏移量和索引

转载 作者:搜寻专家 更新时间:2023-11-01 05:11:45 24 4
gpt4 key购买 nike

我只是想知道“偏移量”和“索引/索引”究竟是什么。偏移量是例如在 https://github.com/mrdoob/three.js/blob/dev/src/core/BufferGeometry.js 中提到IndexedGeometry 中提到了索引,但我目前无法在开发树中找到它。尽管索引看起来相当明显,而且我可以深入研究代码为自己找出一些可能正确的答案,但我很想听到“官方”声明 :)

谢谢!

最佳答案

有两种定义几何的方法:

非索引

"vertices": [ 0, 1, 2,  3, 4, 5,  6, 7, 8,  ... ],
"normals": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, ... ]

在此模式下,每个三 Angular 形位置都是已定义的,您不能重复使用数据。

triangle 0: [ 0, 1, 2,  3, 4, 5,  6, 7, 8 ]

索引

"indices":  [ 0, 1, 2, ... ],
"vertices": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, ... ],
"normals": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, ... ]

在此模式下,索引定义数据的顺序。第一个三 Angular 形使用索引 012。这些索引将用于获取 verticesnormals 数据:

triangle 0: [ 0, 1, 2,  3, 4, 5,  6, 7, 8 ]

索引的主要好处是可以重用数据并向 GPU 上传更少的数据:

"indices":  [ 0, 0, 0, ... ],
"vertices": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, ... ]

triangle 0: [ 0, 1, 2, 0, 1, 2, 0, 1, 2 ]

根据偏移量...

使用偏移量,您可以渲染几何体的特定范围。您可以从 triangle 200 绘制到 triangle 400,而不是从 triangle 0 绘制到 triangle.length

关于javascript - BufferGeometry 偏移量和索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23948669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com