国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久

Primitive

基本體表示Scene中的幾何體。幾何圖形可以來自下面的示例1所示的單個GeometryInstance,也可以來自實例數組,即使幾何圖形來自不同的幾何圖形類型,如代碼示例2中所示的RectangleGeometryEllipsoidGeometry

基本體將幾何體實例與描述完整著色的Appearance結合起來,包括MaterialRenderState。大致上,幾何體實例定義結構和位置,外觀定義視覺特征。分離幾何體和外觀允許我們混合和匹配大多數幾何體和外觀,并獨立地添加新的幾何體或外觀。

將多個實例組合成一個原語稱為批處理,顯著提高了靜態數據的性能。實例可以單獨選取;Scene#pick返回其GeometryInstance#id。使用類似于PerInstanceColorAppearance的每個實例外觀,每個實例也可以具有唯一的顏色。

Geometry可以在Web工作者或主線程上創建和批處理。前兩個示例顯示將使用幾何圖形的描述在Web工作者上創建的幾何圖形。第三個示例演示如何通過顯式調用createGeometry方法在主線程上創建幾何體。

new Primitive(options)
Parameters:
options (Object)
Name Description
options.geometryInstances
(Array.<GeometryInstance> | GeometryInstance)
要渲染的幾何體實例-或單個幾何體實例。
options.appearance
Appearance
用于呈現原語的外觀。
options.depthFailAppearance
Appearance
用于在深度測試失敗時對該基元進行著色的外觀。
options.show
Boolean
default true
確定是否顯示此基元。
options.modelMatrix
Matrix4
default Matrix4.IDENTITY
將基本體(所有幾何體實例)從模型轉換為世界坐標的4x4轉換矩陣。
options.vertexCacheOptimize
Boolean
default false
true時,幾何體頂點將針對頂點前和頂點后明暗器緩存進行優化。
options.interleave
Boolean
default false
true時,幾何頂點屬性交錯,這可以稍微提高渲染性能,但增加加載時間。
options.compressVertices
Boolean
default true
true時,幾何體頂點被壓縮,這將節省內存。
options.releaseGeometryInstances
Boolean
default true
true時,原語不保留對輸入geometryInstances的引用以保存內存。
options.allowPicking
Boolean
default true
true時,每個幾何體實例只能使用Scene#pick進行選擇。當false時,保存GPU內存。
options.cull
Boolean
default true
true時,渲染器的平截體剔除和地平線根據其邊界體積剔除基本體的命令。如果要手動剔除原語,請將其設置為false以獲得較小的性能增益。
options.asynchronous
Boolean
default true
確定在準備就緒之前是異步創建基元還是阻止創建基元。
options.debugShowBoundingVolume
Boolean
default false
僅用于調試。確定是否顯示此基元的命令的邊界球。
options.shadows
ShadowMode
default ShadowMode.DISABLED
確定此基元是投射還是接收來自每個光源的陰影。
Examples
// 1. Draw a translucent ellipse on the surface with a checkerboard pattern
var instance = new bmgl.GeometryInstance({
  geometry : new bmgl.EllipseGeometry({
      center : bmgl.Cartesian3.fromDegrees(-100.0, 20.0),
      semiMinorAxis : 500000.0,
      semiMajorAxis : 1000000.0,
      rotation : bmgl.Math.PI_OVER_FOUR,
      vertexFormat : bmgl.VertexFormat.POSITION_AND_ST
  }),
  id : 'object returned when this instance is picked and to get/set per-instance attributes'
});
scene.primitives.add(new bmgl.Primitive({
  geometryInstances : instance,
  appearance : new bmgl.EllipsoidSurfaceAppearance({
    material : bmgl.Material.fromType('Checkerboard')
  })
}));
// 2. Draw different instances each with a unique color
var rectangleInstance = new bmgl.GeometryInstance({
  geometry : new bmgl.RectangleGeometry({
    rectangle : bmgl.Rectangle.fromDegrees(-140.0, 30.0, -100.0, 40.0),
    vertexFormat : bmgl.PerInstanceColorAppearance.VERTEX_FORMAT
  }),
  id : 'rectangle',
  attributes : {
    color : new bmgl.ColorGeometryInstanceAttribute(0.0, 1.0, 1.0, 0.5)
  }
});
var ellipsoidInstance = new bmgl.GeometryInstance({
  geometry : new bmgl.EllipsoidGeometry({
    radii : new bmgl.Cartesian3(500000.0, 500000.0, 1000000.0),
    vertexFormat : bmgl.VertexFormat.POSITION_AND_NORMAL
  }),
  modelMatrix : bmgl.Matrix4.multiplyByTranslation(bmgl.Transforms.eastNorthUpToFixedFrame(
    bmgl.Cartesian3.fromDegrees(-95.59777, 40.03883)), new bmgl.Cartesian3(0.0, 0.0, 500000.0), new bmgl.Matrix4()),
  id : 'ellipsoid',
  attributes : {
    color : bmgl.ColorGeometryInstanceAttribute.fromColor(bmgl.Color.AQUA)
  }
});
scene.primitives.add(new bmgl.Primitive({
  geometryInstances : [rectangleInstance, ellipsoidInstance],
  appearance : new bmgl.PerInstanceColorAppearance()
}));
// 3. Create the geometry on the main thread.
scene.primitives.add(new bmgl.Primitive({
  geometryInstances : new bmgl.GeometryInstance({
      geometry : bmgl.EllipsoidGeometry.createGeometry(new bmgl.EllipsoidGeometry({
        radii : new bmgl.Cartesian3(500000.0, 500000.0, 1000000.0),
        vertexFormat : bmgl.VertexFormat.POSITION_AND_NORMAL
      })),
      modelMatrix : bmgl.Matrix4.multiplyByTranslation(bmgl.Transforms.eastNorthUpToFixedFrame(
        bmgl.Cartesian3.fromDegrees(-95.59777, 40.03883)), new bmgl.Cartesian3(0.0, 0.0, 500000.0), new bmgl.Matrix4()),
      id : 'ellipsoid',
      attributes : {
        color : bmgl.ColorGeometryInstanceAttribute.fromColor(bmgl.Color.AQUA)
      }
  }),
  appearance : new bmgl.PerInstanceColorAppearance()
}));
See:

Members

(readonly) allowPicking : Boolean

true時,每個幾何體實例只能使用Scene#pick進行選擇。當false時,保存GPU內存。*
Default Value: true

appearance : Appearance

Appearance用于對該原語進行著色。每個幾何體實例都以相同的外觀著色。一些外觀,如PerInstanceColorAppearance允許為每個實例提供唯一的屬性。
Default Value: undefined

(readonly) asynchronous : Boolean

確定是否將在Web工作者上創建和批處理幾何體實例。
Default Value: true

(readonly) compressVertices : Boolean

true時,幾何體頂點被壓縮,這將節省內存。
Default Value: true

cull : Boolean

true時,渲染器的平截體剔除和地平線根據其邊界體積剔除基本體的命令。如果要手動剔除原語,請將其設置為false以獲得較小的性能增益。
Default Value: true

debugShowBoundingVolume : Boolean

此屬性僅用于調試;它既不用于生產,也不進行優化。

為基本體中的每個draw命令繪制邊界球體。

Default Value: false

depthFailAppearance : Appearance

Appearance用于在深度測試失敗時對該原語進行著色。每個幾何體實例都以相同的外觀著色。一些外觀,如PerInstanceColorAppearance允許為每個實例提供唯一的屬性。

當使用需要顏色屬性的外觀時,如PerInstanceColorAppearance,請為每個實例屬性添加DepthFailColor。

需要ext}frag_depth webgl擴展以正確呈現。如果不支持擴展,則可能存在工件。

Default Value: undefined

(readonly) geometryInstances : (Array.<GeometryInstance>|GeometryInstance)

使用此基元渲染的幾何體實例。在構造基元時,如果options.releaseGeometryInstancestrue,則可能是undefined

在呈現基元后更改此屬性沒有效果。

Default Value: undefined

(readonly) interleave : Boolean

確定幾何體頂點屬性是否交錯,這可以稍微提高渲染性能。
Default Value: false

modelMatrix : Matrix4

將基本體(所有幾何體實例)從模型轉換為世界坐標的4x4轉換矩陣。當這是一個單位矩陣時,原語以世界坐標繪制,即地球的wgs84坐標。本地參考幀可以通過提供不同的轉換矩陣來使用,如Transforms.eastNorthUpToFixedFrame返回的轉換矩陣。

此屬性僅在3D模式下受支持。

Default Value: Matrix4.IDENTITY
Example:
var origin = bmgl.Cartesian3.fromDegrees(-95.0, 40.0, 200000.0);
p.modelMatrix = bmgl.Transforms.eastNorthUpToFixedFrame(origin);

(readonly) ready : Boolean

確定基元是否已完成并準備好呈現。如果此屬性為真,則下次調用Primitive#update時將呈現原語。

(readonly) readyPromise : Promise.<Primitive>

獲取解決基元何時準備呈現的承諾。

(readonly) releaseGeometryInstances : Boolean

true時,原語不保留對輸入geometryInstances的引用以保存內存。
Default Value: true

shadows : ShadowMode

確定此基元是投射還是接收來自每個光源的陰影。
Default Value: ShadowMode.DISABLED

show : Boolean

確定是否顯示基元。這會影響基本體中的所有幾何體實例。
Default Value: true

(readonly) vertexCacheOptimize : Boolean

true時,幾何體頂點將針對頂點前和頂點后明暗器緩存進行優化。
Default Value: true

Methods

destroy()
銷毀此對象持有的WebGL資源。銷毀對象允許確定地釋放WebGL資源,而不是依賴垃圾收集器來銷毀此對象。

一旦對象被破壞,就不應使用它;調用除isDestroyed以外的任何函數都將導致DeveloperError異常。因此,將返回值(undefined)賦給對象,如示例中所述。

Example
e = e && e.destroy();
Throws
See:
getGeometryInstanceAttributes(id) → {Object}
返回GeometryInstance的每個實例可修改屬性。
Parameters:
id (*) GeometryInstance的ID。
Example
var attributes = primitive.getGeometryInstanceAttributes('an id');
attributes.color = bmgl.ColorGeometryInstanceAttribute.toValue(bmgl.Color.AQUA);
attributes.show = bmgl.ShowGeometryInstanceAttribute.toValue(true);
attributes.distanceDisplayCondition = bmgl.DistanceDisplayConditionGeometryInstanceAttribute.toValue(100.0, 10000.0);
attributes.offset = bmgl.OffsetGeometryInstanceAttribute.toValue(Cartesian3.IDENTITY);
Throws
  • DeveloperError : 必須在調用GetGeometryInstanceAttributes之前調用Update。
isDestroyed() → {Boolean}
如果此對象被破壞,則返回true;否則返回false。

如果此對象被破壞,則不應使用它;調用除isDestroyed以外的任何函數都將導致DeveloperError異常。

See:
update()
ViewerBMWidget渲染場景以獲取渲染此原語所需的繪制命令時調用。

不要直接調用此函數。這只是為了列出渲染場景時可能傳播的異常:

Throws
  • DeveloperError : 所有實例幾何必須具有相同的PrimitiveType。
  • DeveloperError : 外觀和材料有一個統一的名稱。
  • DeveloperError : Primitive.ModelMatrix僅在3D模式下受支持。
  • RuntimeError : 需要頂點紋理獲取支持來渲染具有每個實例屬性的基本體。頂點紋理圖像單位的最大數目必須大于零。
国产久_亚欧精品一区_久久亚洲美女_99精品在线观看_日韩成人三级_久久精品久久久久
<code id="kseui"><acronym id="kseui"></acronym></code>
  • <abbr id="kseui"><tbody id="kseui"></tbody></abbr>
  • <button id="kseui"></button>
  • 亚洲高清视频一区| 国产精品一区二区三区不卡| 欧美精品中文字幕一区二区| 久久精品丝袜高跟鞋| 欧洲亚洲一区二区三区四区五区| 久久精品丝袜高跟鞋| 亚洲人成网站在线观看播放| 亚洲视频福利| 7777精品伊久久久大香线蕉语言| 精选一区二区三区四区五区| 一本一本久久a久久精品综合妖精| 自拍亚洲欧美老师丝袜| 亚洲在线视频| 欧美精品在线一区| 亚洲精品一二| 欧美激情一区二区三区在线视频 | 你懂的国产精品| 亚洲高清视频在线观看| 久久人人超碰| 亚洲在线色站| 国产精品社区| 欧美日韩电影一区二区| 亚洲成人在线| 欧美18视频| 中文在线一区| 亚洲人一区二区| 3d动漫精品啪啪一区二区三区免费 | 亚洲美女91| 久久精品一二三区| 99热免费精品| 日韩成人在线资源| 999国产在线| 亚洲高清电影| 宅男一区二区三区| 精品国产一区二区三区四区精华| 含羞草久久爱69一区| 欧美日韩精品久久久免费观看| 一区二区三区av| 在线看视频不卡| 久久国产日韩欧美| 一本一本久久| 伊人久久婷婷色综合98网| 翡翠波斯猫1977年美国| 在线观看的日韩av| 中文字幕久久综合| 精品九九九九| 999国产视频| 亚洲一区二区伦理| 亚洲婷婷免费| 欧美日韩1区| 少妇免费毛片久久久久久久久| 国产私拍一区| 亚洲午夜伦理| 亚洲精品影院| 日本一区二区不卡高清更新| 久久久一二三| 国产亚洲在线观看| 亚洲精品视频一二三| 久久手机视频| 国产精品自拍首页| 高清一区二区三区视频| 在线一区欧美| 亚洲区国产区| 韩日视频一区| 欧美成人日韩| 欧美黄色精品| 欧美凹凸一区二区三区视频| 日韩免费av电影| 日韩欧美视频一区二区三区四区| 国产精品一区二| 国产日韩一区二区| 国产精品久久亚洲| 国产伦精品一区二区三区免| 99在线免费观看视频| 国产v亚洲v天堂无码| 久久久久久精| 成人午夜电影在线播放| 久久久99爱| 国产精品亚洲综合| 激情一区二区三区| 欧美凹凸一区二区三区视频| 久久资源av| 日韩欧美亚洲日产国| 先锋影音网一区| 欧美日韩亚洲一区在线观看| 欧美特黄一区| 一区二区高清| 成人久久18免费网站漫画| 成人在线看片| 日韩精品久久久毛片一区二区| 欧美亚洲免费在线| 亚洲精品国产精品国自产| 中文字幕人成一区| 野花国产精品入口| www久久99| 日韩高清专区| 国模精品一区二区三区| 一本久道综合久久精品| 久久久水蜜桃av免费网站| 裸模一区二区三区免费| 午夜国产精品视频| 国产伦精品一区二区三区四区免费 | 精品国产一区二区三区麻豆小说| 鲁丝片一区二区三区| 中文字幕成人一区| 一区二区精品在线观看| 国产传媒一区二区| 亚洲国产欧美不卡在线观看 | 麻豆传媒一区| 欧美黄免费看| www日韩av| 女同一区二区| 鲁大师影院一区二区三区| 国产成人av一区二区三区| 色就是色欧美| 99热在线精品观看| 久久久久久精| 国产日韩亚洲欧美精品| 久久99欧美| 在线欧美日韩| 欧美久久电影| 性色一区二区| 一区二区三区四区国产| 欧美一区=区| 亚洲国产精品久久久久婷婷老年| 一本一道久久综合狠狠老精东影业 | 亚洲欧美日韩精品综合在线观看| 国产美女精品在线观看| 极品尤物久久久av免费看| 狠狠色狠狠色综合人人| 伊人狠狠色j香婷婷综合| 美女黄毛**国产精品啪啪| 亚洲日韩视频| 亚洲一区二区精品在线观看| 麻豆精品网站| 国产一区在线免费观看| 欧美成ee人免费视频| 久久激情视频| 欧美性色综合| 日本在线观看一区二区三区| 亚洲一区二区三区涩| 一区不卡视频| 久久久久久99| 99影视tv| 国产精品日本一区二区| 欧美在线视频一区二区三区| 欧美动漫一区二区| 成人18视频| 国产精品乱码| 在线视频观看日韩| 欧美+亚洲+精品+三区| 精品无人区一区二区三区| 国产偷久久久精品专区| 欧美日本一区二区视频在线观看| 久久手机视频| 国产乱码精品一区二区三区卡 | 亚洲不卡一卡2卡三卡4卡5卡精品| 久久国产精品毛片| 亚洲激情社区| 在线日本高清免费不卡| 亚洲看片网站| 水蜜桃一区二区三区| 国内精品久久久久久久果冻传媒| av成人天堂| 国产亚洲网站| 中国成人在线视频| 亚洲黄色大片| 伊人成人在线视频| 国产精品红桃| 影音先锋在线一区| 激情欧美日韩一区| 欧美精品入口| 国产精品国产精品| 好看的av在线不卡观看| 欧美日韩一视频区二区| 欧美午夜不卡| 亚洲午夜在线| 一本色道久久综合| 麻豆av一区二区三区久久| 久久亚洲国产精品一区二区 | 99精品国产一区二区青青牛奶| 国产精品红桃| 99热免费精品| 欧美一级一区| 国产精品大全| 欧美精品二区三区四区免费看视频| 精品视频高清无人区区二区三区| 国产伦精品一区二区三区四区免费| 国产精品果冻传媒潘| 成人av蜜桃| 精品一区二区国产| 亚洲成人午夜在线| 欧美性天天影院| 国产亚洲欧美一区二区 | 在线亚洲欧美| 俄罗斯精品一区二区三区| 精品一区在线播放| 欧美激情视频一区二区三区免费| 亚洲电影在线| 国产精品yjizz|