mirror of
https://github.com/tengge1/ShadowEditor.git
synced 2026-01-25 15:08:11 +00:00
修改。
This commit is contained in:
parent
31063e4bf7
commit
d68407120e
@ -26,6 +26,7 @@
|
||||
<script src="assets/js/libs/jszip.min.js"></script>
|
||||
<script src="assets/js/libs/inflate.min.js"></script>
|
||||
<script src="assets/js/libs/gunzip.min.js"></script>
|
||||
<script src="assets/js/libs/rbush.js"></script>
|
||||
|
||||
<script src="assets/js/SimplexNoise.js"></script>
|
||||
<script src="assets/js/ImprovedNoise.js"></script>
|
||||
|
||||
@ -169,7 +169,7 @@ ComponentMenu.prototype.onAddCloth = function () {
|
||||
// ----------------------------- 地球 --------------------------------------
|
||||
|
||||
ComponentMenu.prototype.onAddEarth = function () {
|
||||
var globe = new Globe();
|
||||
var globe = new Globe(this.app);
|
||||
this.app.editor.execute(new AddObjectCommand(globe));
|
||||
};
|
||||
|
||||
|
||||
@ -3,8 +3,13 @@ import GlobeMaterial from './GlobeMaterial';
|
||||
|
||||
/**
|
||||
* 地球
|
||||
* @param {*} app
|
||||
*/
|
||||
function Globe() {
|
||||
function Globe(app) {
|
||||
var lon = 0;
|
||||
var lat = 0;
|
||||
var zoom = 1;
|
||||
|
||||
var geometry = new GlobeGeometry();
|
||||
var material = new GlobeMaterial();
|
||||
|
||||
|
||||
@ -2,10 +2,26 @@
|
||||
* 地球几何体
|
||||
*/
|
||||
function GlobeGeometry() {
|
||||
THREE.PlaneBufferGeometry.call(this, 1, 1, 256, 256);
|
||||
THREE.InstancedBufferGeometry.call(this);
|
||||
|
||||
this.maxInstancedCount = 4;
|
||||
|
||||
var geometry = new THREE.PlaneBufferGeometry(1, 1);
|
||||
|
||||
this.addAttribute('position', geometry.attributes.position);
|
||||
this.addAttribute('normal', geometry.attributes.normal);
|
||||
this.addAttribute('uv', geometry.attributes.uv);
|
||||
|
||||
var offsets = [];
|
||||
|
||||
for (var i = 0; i < 4; i++) {
|
||||
offsets.push(Math.random() - 0.5, Math.random() - 0.5, Math.random() - 0.5);
|
||||
}
|
||||
|
||||
this.addAttribute('offset', new THREE.InstancedBufferAttribute(new Float32Array(offsets), 3));
|
||||
}
|
||||
|
||||
GlobeGeometry.prototype = Object.create(THREE.PlaneBufferGeometry.prototype);
|
||||
GlobeGeometry.prototype = Object.create(THREE.InstancedBufferGeometry.prototype);
|
||||
GlobeGeometry.prototype.constructor = GlobeGeometry;
|
||||
|
||||
export default GlobeGeometry;
|
||||
@ -5,13 +5,13 @@ import GlobeFragment from './shader/globe_fragment.glsl';
|
||||
* 地球材质
|
||||
*/
|
||||
function GlobeMaterial() {
|
||||
THREE.ShaderMaterial.call(this, {
|
||||
THREE.RawShaderMaterial.call(this, {
|
||||
vertexShader: GlobeVertex,
|
||||
fragmentShader: GlobeFragment
|
||||
});
|
||||
}
|
||||
|
||||
GlobeMaterial.prototype = Object.create(THREE.ShaderMaterial.prototype);
|
||||
GlobeMaterial.prototype = Object.create(THREE.RawShaderMaterial.prototype);
|
||||
GlobeMaterial.prototype.constructor = GlobeMaterial;
|
||||
|
||||
export default GlobeMaterial;
|
||||
10
ShadowEditor.Web/src/gis/layer/BingLayer.js
Normal file
10
ShadowEditor.Web/src/gis/layer/BingLayer.js
Normal file
@ -0,0 +1,10 @@
|
||||
import Layer from './Layer';
|
||||
|
||||
function BingLayer() {
|
||||
Layer.call(this);
|
||||
}
|
||||
|
||||
BingLayer.prototype = Object.create(Layer.prototype);
|
||||
BingLayer.prototype.constructor = BingLayer;
|
||||
|
||||
export default BingLayer;
|
||||
11
ShadowEditor.Web/src/gis/layer/Layer.js
Normal file
11
ShadowEditor.Web/src/gis/layer/Layer.js
Normal file
@ -0,0 +1,11 @@
|
||||
var ID = -1;
|
||||
|
||||
/**
|
||||
* 层
|
||||
*/
|
||||
function Layer() {
|
||||
this.id = `${this.constructor.name}${ID--}`;
|
||||
this.name = `Layer`;
|
||||
}
|
||||
|
||||
export default Layer;
|
||||
@ -1,3 +1,11 @@
|
||||
uniform mat4 modelViewMatrix;
|
||||
uniform mat4 projectionMatrix;
|
||||
|
||||
attribute vec3 position;
|
||||
attribute vec3 normal;
|
||||
attribute vec3 uv;
|
||||
attribute vec3 offset;
|
||||
|
||||
void main() {
|
||||
gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
function TileGrid() {
|
||||
|
||||
}
|
||||
|
||||
export default TileGrid;
|
||||
5
ShadowEditor.Web/src/gis/tile/Tiles.js
Normal file
5
ShadowEditor.Web/src/gis/tile/Tiles.js
Normal file
@ -0,0 +1,5 @@
|
||||
function Tiles() {
|
||||
|
||||
}
|
||||
|
||||
export default Tiles;
|
||||
@ -38,6 +38,7 @@
|
||||
<script src="assets/js/libs/jszip.min.js"></script>
|
||||
<script src="assets/js/libs/inflate.min.js"></script>
|
||||
<script src="assets/js/libs/gunzip.min.js"></script>
|
||||
<script src="assets/js/libs/rbush.js"></script>
|
||||
|
||||
<script src="assets/js/SimplexNoise.js"></script>
|
||||
<script src="assets/js/ImprovedNoise.js"></script>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user