今天來(lái)看看GroundPrimitive,選擇GroundPrimitive有三個(gè)目的:1 了解GroundPrimitive和Primitive的區(qū)別和關(guān)系 2 createGeometry的特殊處理 3 如何通過(guò)陰影體的方式實(shí)現(xiàn)貼地效果。

GroundPrimitive.prototype.update

       可以認(rèn)為GroundPrimitive是Primitive的擴(kuò)展,通過(guò)Update我們可以很好的理解這個(gè)過(guò)程:

seo優(yōu)化培訓(xùn),網(wǎng)絡(luò)推廣培訓(xùn),網(wǎng)絡(luò)營(yíng)銷培訓(xùn),SEM培訓(xùn),網(wǎng)絡(luò)優(yōu)化,在線營(yíng)銷培訓(xùn)

GroundPrimitive.prototype.update = function(frameState) {    if (!defined(this._primitive)) {        // Key 1
        setMinMaxTerrainHeights(this, rectangle, frameState.mapProjection.ellipsoid);        
        // Key 2
        for (i = 0; i < length; ++i) {
            instance = instances[i];
            geometry = instance.geometry;
            instanceType = geometry.constructor;
            groundInstances[i] = new GeometryInstance({
                geometry : instanceType.createShadowVolume(geometry, getComputeMinimumHeightFunction(this),
                    getComputeMaximumHeightFunction(this)),
                attributes : instance.attributes,
                id : instance.id,
    &nbs
        
		

網(wǎng)友評(píng)論