Struct BlockInfo
- 命名空間
- easyar
- 組件
- EasyAR.Sense.dll
稠密重建得到的模型使用三角網格表示,稱為mesh。由於mesh會進行頻繁的更新,為了保證效率,整個重建模型的mesh被分割成了非常多的mesh block。一個mesh block由一個邊長大概1米的立方體組成,其中有vertex和index等元素。
BlockInfo用來描述一個mesh block的內容。其中(x,y,z)是mesh block的索引,將(x,y,z)乘上每個mesh block的物理尺寸可以獲得這個mesh block的原點在世界坐標系中的坐標。可以通過mesh block在世界中的位置對需要顯示的部分進行提前過濾,以節省渲染需要的時間。
</p>
public struct BlockInfo
建構函式
BlockInfo(int, int, int, int, int, int, int, int)
public BlockInfo(int x, int y, int z, int numOfVertex, int startPointOfVertex, int numOfIndex, int startPointOfIndex, int version)
參數
xyznumOfVertexstartPointOfVertexnumOfIndexstartPointOfIndexversion
欄位
numOfIndex
一個mesh block中所擁有的索引的數目,每連續3個頂點構成一個三角面。
public int numOfIndex
numOfVertex
一個mesh block中所擁有的頂點的數目。
public int numOfVertex
startPointOfIndex
與startPointOfVertex類似。索引數據在index buffer中存放的起始位置,表示從第幾個索引開始是屬於當前這個mesh block的。不等於偏移量的字節數,起始位置的偏移為startPointOfIndex*3*4個字節。
public int startPointOfIndex
startPointOfVertex
頂點數據在vertex buffer中存放的起始位置,表示從第幾個頂點開始是屬於當前這個mesh block的。不等於偏移量的字節數,起始位置的偏移為startPointOfVertex*3*4個字節。
public int startPointOfVertex
version
當前mesh block更新的次數,version越大表示更新的次數更多。如果調用`DenseSpatialMap.updateSceneMesh`_ 後一個mesh block的version變大了,說明其中的內容發生了變化。
public int version
x
mesh block的索引(x,y,z)中的x。
public int x
y
mesh block的索引(x,y,z)中的y。
public int y
z
mesh block的索引(x,y,z)中的z。
public int z