arcgis sceneView 风场

2022-02-08  本文已影响0人  haibalai

上次的风场在球面不是很好用, 这次给大家带来一个球面用的风场。

```html

Create a local scene - 4.19

html,

body,

#sss {

height: 100%;

width: 100%;

}

#homeDiv {

left: 15px;

top: 130px;

z-index: 35;

position: absolute;

}

<script>

require([

"esri/Map",

"require",

"esri/request",

"esri/views/3d/externalRenderers",

"esri/config",

"esri/Basemap",

"esri/config",

"esri/geometry/Extent",

"esri/geometry/SpatialReference",

"esri/views/SceneView",

"esri/views/MapView",

"esri/layers/FeatureLayer",

"esri/layers/ImageryLayer",

"esri/layers/TileLayer",

"esri/layers/SceneLayer",

"esri/layers/ElevationLayer",

"esri/renderers/SimpleRenderer",

"esri/symbols/ObjectSymbol3DLayer",

"esri/symbols/IconSymbol3DLayer",

"esri/symbols/PointSymbol3D",

"esri/tasks/QueryTask",

"esri/tasks/support/Query",

"esri/widgets/Home",

"dojo/domReady!"

], function(Map,require,request,externalRenderers,esriConfig,Basemap,esriConfig,Extent,SpatialReference, SceneView,MapView, FeatureLayer,ImageryLayer,TileLayer,SceneLayer,ElevationLayer,

SimpleRenderer, ObjectSymbol3DLayer,

IconSymbol3DLayer, PointSymbol3D, QueryTask, Query, Home

) {

var map = new Map({

basemap: "gray",

});

var sceneView = new SceneView({

container:"sss",

viewingMode: "global",

map:map,

})

let view;

class ParticleSystem {

constructor(properties) {

this.numParticlesInTrail = 32;

this.numParticleStreams = 1024 * 1024 / this.numParticlesInTrail;

this.useLines = true;

this.timestep = 1 / 60;

this.totalNumParticles = this.numParticleStreams * this.numParticlesInTrail;

this.particlePotSize = 1 << Math.ceil(Math.log(Math.sqrt(this.totalNumParticles)) / Math.LN2);

this.time = 0;

this.gl = properties.gl;

this.view = properties.view;

this.extent = properties.extent;

this.velocityFieldTexture = properties.velocityField;

this.reprojectionTexture = properties.reprojection;

this.initializeResources();

}

initializeResources() {

this.initializeSimulationFBO();

this.initializeQuadGeometryVBO();

this.initializeParticleGeometryVBO();

this.initializePrograms();

this.initializeParticles();

}

更多参考https://xiaozhuanlan.com/topic/4601892735

上一篇 下一篇

猜你喜欢

热点阅读