<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>CmWorld3 Sample</title>
<style>
html, body {
font-family: 'Comic Sans MS';
overflow: hidden;
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
#cmworldCanvas {
width: 100%;
height: 100%;
}
</style>
<script src="./Cm3WebGL/lib/jquery-2.2.0.min.js"></script>
<script src="./Cm3WebGL/cm_compile.js"></script>
<script> CMWORLD.Compile.includeCm3Library("./Cm3WebGL/") </script>
<script src="./sample/js/GPUParticleSystem.js" charset="utf-8"></script>
<script src="./sample/js/CSS3DRenderer.js" charset="utf-8"></script>
<script src="./sample/js/stats.min.js" charset="utf-8"></script>
<script>
var cmworld;
var gui;
var canvasLeft;
var canvasTop;
var clock = new THREE.Clock(true);
/*사용자 레이어를 얻자.*/
getUserLayer = function () {
var layerName = "testLayer";
var layer = cmworld.getLayer(layerName);
if (layer) {
return layer;
}
// 없으면 만들어서 추가한다.
var userLayer = new CMWORLD.UserObjectLayer(layerName);
cmworld.addLayer(userLayer);
return userLayer;
}
var siteRootFolder;
var modelresoucrFolder;
msehFinish = function(name, url, meshArray, position)
{
var userLayer = getUserLayer();
for (var i in meshArray) {
var mesh = meshArray[i];
// texture가 있을 경우, 생성.
var imageName = mesh.material.imageName;
console.log(imageName);
fileurl = siteRootFolder + modelresoucrFolder + imageName;
var tex = CMWORLD.CmWorld3.loadTexture(fileurl);
tex.minFilter = THREE.LinearFilter;
tex.wrapS = THREE.RepeatWrapping;
tex.wrapT = THREE.RepeatWrapping;
//tex.needsUpdate = true;
tex.imageName = imageName;
var mat = new THREE.MeshPhongMaterial({ map: tex, specular: 0, shininess: 0 });
mat.needsUpdate = true;
//mat.side = THREE.DoubleSide;
mesh.material = mat;
mesh.scale.set(0.1, 0.1, 0.1);
//mesh.scale.set(0.00103, 0.00103, 0.00103);
var userObj = new CMWORLD.UserObject(name, mesh, new THREE.Vector3(position.x, position.y, position.z), null);
userObj.rotate4GlobeEarth();
//userObj.object.rotateZ(25 * CMWORLD.cm_const.Deg2Rad);
userLayer.add(userObj);
}
}
load3DS = function ()
{
//cmworld.gotoGeo(127.08420889764518, 37.51176393259322, 300);
var userLayer = getUserLayer();
siteRootFolder = CMWORLD.Compile.getSiteRootUrl();
//modelresoucrFolder = "/model/fire/";
modelresoucrFolder = "/model/a/";
CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "jeju_FAH03.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
new THREE.Vector3(126.59465, 33.4315, 573));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "amb01.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.0855400158851, 37.51162368927199, 14.495809455402195));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "amb02.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08520712689153, 37.511655692871074, 14.512269033119082));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "com.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08538255748654, 37.5116439176187, 14.499150853604078));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "fir01.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08520712689153, 37.511655692871074, 14.512269033119082));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "fir02.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08504233258876, 37.51166352590705, 14.506326215341687));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "fir03.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08485094412822, 37.51167577735231, 14.468720176257193));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "lad01.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08464348167539, 37.51168943419927, 14.428383762948215));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "lad02.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08439498651673, 37.5116889393121, 14.439532863907516));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "Pump.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08418498413076, 37.51170403069156, 14.498686122708023));
//CMWORLD.CmWorld3.load3DS(siteRootFolder + modelresoucrFolder + "water.3ds", siteRootFolder + modelresoucrFolder, msehFinish,
// new THREE.Vector3(127.08408245383445, 37.511715186044306, 14.44668929092586));
}
window.onload = function () {
var canvas = document.querySelector("#cmworldCanvas");
// xdworldData
//cmworld = new CMWORLD.CmWorld3(canvas, 127.08504233258876, 37.51166352590705, 300, { toptilespan: 36 });
cmworld = new CMWORLD.CmWorld3(canvas, 126.5947485372324, 33.43128290570978, 5000, { toptilespan: 36 });
cmworld.addTileImageLayer("base", "http://xdworld.vworld.kr:8080/XDServer3d/requestLayerNode?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=tile&Level={z}&IDX={x}&IDY={y}", 0, 15, 90, -90, -180, 180, "jpg", false);
cmworld.addTerrainLayer("terrain", "http://xdworld.vworld.kr:8080/XDServer3d/requestLayerNode?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=dem&Level={z}&IDX={x}&IDY={y}", 0, 15, 90, -90, -180, 180, "");
//cmworld.addReal3DLayer("facility_build", "http://xdworld.vworld.kr:8080/XDServer/requestLayerNode?Layer=facility_build&Level={z}&IDX={x}&IDY={y}&APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236",
// "http://xdworld.vworld.kr:8080/XDServer/requestLayerObject?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=facility_build&Level={z}&IDX={x}&IDY={y}&DataFile={f}", "facility_build", 0, 15, 90, -90, -180, 180, "dat");
//cmworld.addReal3DLayer("facility_build", "http://xdworld.vworld.kr:8080/XDServer/requestLayerNode?Layer=facility_build&Level={z}&IDX={x}&IDY={y}&APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236",
// "http://xdworld.vworld.kr:8080/XDServer/requestLayerObject?APIKey=B470EFE5-A211-35EE-A38A-0D5AD519F236&Layer=facility_build&Level={z}&IDX={x}&IDY={y}&DataFile={f}", "facility_build", 0, 15, 90, -90, -180, 180, "dat");
cmworld.showLatLonLine(true);
};
</script>
</head>
<body>
<canvas id="cmworldCanvas"></canvas>
<div id="container"></div>
<a href="#" onclick="load3DS()" style="right: 10px; top: 200px; position: absolute; z-index: 10000;color: rgb(182, 255, 0)">load 3ds</a>
</body>
</html>