上一篇,我們介紹了當(dāng)我們添加一個Entity時,通過Graphics封裝其對應(yīng)參數(shù),通過EntityCollection.Add方法,將EntityCollection的Entity傳遞到DataSourceDisplay.Visualizer中。本篇則從Visualizer開始,介紹數(shù)據(jù)的處理,并最終實現(xiàn)渲染的過程。

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

CesiumWidget.prototype.render = function() {    if (this._canRender) {        this._scene.initializeFrame();        var currentTime = this._clock.tick();        this._scene.render(currentTime);
    } else {        this._clock.tick();
    }
};

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

       如上,在渲染階段,分別調(diào)用了clock.tick()和scene.render()。在這兩個階段中都有很多跟Entity相關(guān)的方面,我們分別闡述其大概過程

Viewer.prototype._onTick

       我們先溫習(xí)一下上篇的兩個知識點:DataSourceDisplay初始化的時候會調(diào)用defaultVisualizersCallback,會針對所有Geometry的Type創(chuàng)建對應(yīng)的Visualizer;EntityCollection.Add每次添加一個Entity,會通過一系列事件傳遞,將該Entity傳遞到每一個Visualizer,保存到Visualizer中_addedObjects隊列中。

萬碼學(xué)堂,電腦培訓(xùn),計算機培訓(xùn),Java培訓(xùn),JavaEE開發(fā)培訓(xùn),青島軟件培訓(xùn),軟件工程師培訓(xùn)

function Viewer(container, options) {
    event