一種幾何表示法,具有構成頂點的屬性和定義基元的可選索引數據。幾何圖形和描述陰影的
new Geometry(options)
Appearance可分配給Primitive進行可視化。APrimitive可以從許多異構(在許多情況下)幾何結構中創建,以提高性能。幾何圖形可以使用GeometryPipeline中的函數進行轉換和優化。
Parameters:
options
(Object)
| Name | Description |
|---|---|
options.attributes
GeometryAttributes
|
組成幾何體頂點的屬性。 |
options.primitiveType
PrimitiveType
default PrimitiveType.TRIANGLES
|
幾何體中基本體的類型。 |
options.indices
(Uint16Array | Uint32Array)
|
用于確定幾何體中基本體的可選索引數據。 |
options.boundingSphere
BoundingSphere
|
完全包圍幾何體的可選邊界球體。 |
Example
// Create geometry with a position attribute and indexed lines.
var positions = new Float64Array([
0.0, 0.0, 0.0,
7500000.0, 0.0, 0.0,
0.0, 7500000.0, 0.0
]);
var geometry = new bmgl.Geometry({
attributes : {
position : new bmgl.GeometryAttribute({
componentDatatype : bmgl.ComponentDatatype.DOUBLE,
componentsPerAttribute : 3,
values : positions
})
},
indices : new Uint16Array([0, 1, 1, 2, 2, 0]),
primitiveType : bmgl.PrimitiveType.LINES,
boundingSphere : bmgl.BoundingSphere.fromVertices(positions)
});
Members
attributes : GeometryAttributes
組成幾何體頂點的屬性。此對象中的每個屬性對應于包含屬性數據的
GeometryAttribute。屬性始終不交錯存儲在幾何圖形中。
有保留的具有眾所周知語義的屬性名。以下屬性由幾何圖形創建(取決于提供的VertexFormat)。
position-三維頂點位置。64位浮點(用于精度)。每個屬性3個組件。見VertexFormat#position.normal-正常(標準化),通常用于照明。32位浮點。每個屬性3個組件。見VertexFormat#normal.st-2d紋理坐標。32位浮點。每個屬性2個組件。參見VertexFormat#st.bitangent-位范圍(標準化),用于切線空間效果,如凹凸貼圖。32位浮點。每個屬性3個組件。參見VertexFormat#bitangent.tangent-切線(標準化),用于切線空間效果,如凹凸貼圖。32位浮點。每個屬性3個組件。請參見VertexFormat#tangent
以下屬性名稱通常不是由幾何體創建的,而是由Primitive或GeometryPipeline函數添加到幾何體以準備渲染幾何體。
- {
position3DHigh-編碼64位位置用GeometryPipeline.encodeAttribute計算的高32位。32位浮點。每個屬性4個組件。 position3DLow-編碼64位位置的低32位,用GeometryPipeline.encodeAttribute計算。32位浮點。每個屬性4個組件。position3DHigh-使用GeometryPipeline.encodeAttribute計算的編碼64位二維(Columbus視圖)位置的高32位。32位浮點。每個屬性4個組件。position2DLow-使用GeometryPipeline.encodeAttribute計算的編碼64位二維(哥倫布視圖)位置的低32位。32位浮點。每個屬性4個組件。color-rgba顏色(標準化),通常從GeometryInstance#color開始。32位浮點。每個屬性4個組件。pickColor-用于拾取的rgba顏色。32位浮點。每個屬性4個組件。
-
Default Value:
undefined
See:
Example:
geometry.attributes.position = new bmgl.GeometryAttribute({
componentDatatype : bmgl.ComponentDatatype.FLOAT,
componentsPerAttribute : 3,
values : new Float32Array(0)
});
boundingSphere : BoundingSphere
完全包圍幾何體的可選邊界球體。這通常用于剔除。
-
Default Value:
undefined
indices : Array
可選索引數據,與
Geometry#primitiveType一起確定幾何體中的基本體。
-
Default Value:
undefined
primitiveType : PrimitiveType
幾何體中基本體的類型。這通常是
PrimitiveType.TRIANGLES,但可以根據特定的幾何圖形變化。
-
Default Value:
undefined
Methods
(static) computeNumberOfVertices(geometry) → {Number}
計算幾何體中的頂點數。運行時相對于頂點中的屬性數是線性的,而不是頂點數。