# mago3d - github : https://github.com/Gaia3D/mago3djs ## src ### engine - cesium - webworldwind ### mago3d - api - core - domain - extern - f4d - geometry - message - rederer - shader - util - worker ## 샘플코드를 보자 클라이언트단에서 시작 ```javascript magoStart(null, "magoContainer", imagePath) loadData(viewer, renderDivId, serverPolicy); managerFactory = new ManagerFactory(viewer, renderDivId, serverPolicy, null, null, null, imagePath); ``` `ManagerFactory` 로 시작 ```javascript // 실제 화면에 object를 rendering 하는 메인 메서드 function draw() { if (MagoConfig.getPolicy().geo_view_library === Constant.CESIUM) { drawCesium(); } else if (MagoConfig.getPolicy().geo_view_library === Constant.WORLDWIND) { //initWwwMago(); } else if (MagoConfig.getPolicy().geo_view_library === Constant.MAGOWORLD) { drawMagoWorld(); } } ``` ```javascript /** * start rendering. * @param scene 변수 * @param isLastFrustum 변수 */ MagoManager.prototype.startRender = function(scene, isLastFrustum, frustumIdx, numFrustums) MagoManager.prototype.upDateCamera = function(resultCamera) ``` ```javascript MagoManager.prototype.startRender = function(scene, isLastFrustum, frustumIdx, numFrustums) { if (!this.isCameraMoving && !this.mouseLeftDown && !this.mouseMiddleDown) { ////this.upDateSceneStateMatrices(this.sceneState); this.upDateCamera(this.myCameraSCX); this.doMultiFrustumCullingSmartTiles(this.myCameraSCX); } ``` ### startRender 를 호출하는 곳 ```javascript MagoManager.prototype.start = function(scene, pass, frustumIdx, numFrustums) MagoManager.prototype.renderOrdered = function(dc) ``` ```javascript function render(){ magoWorld.renderScene(); } ```