Skip to content

Commit 235ab7b

Browse files
committed
first working version of webgl map
1 parent 7f6ae06 commit 235ab7b

12 files changed

+714
-5
lines changed

package.json

+4-2
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,20 @@
1919
"@types/lodash": "^4.14.172",
2020
"@types/uniqid": "^5.3.1",
2121
"copy-webpack-plugin": "^9.0.1",
22-
"license-webpack-plugin": "4.0.0",
2322
"gh-pages": "^3.2.3",
23+
"license-webpack-plugin": "4.0.0",
2424
"ts-loader": "^9.2.5",
2525
"typescript": "^4.4.3",
2626
"webpack": "^5.52.1",
2727
"webpack-cli": "^4.8.0",
28-
"webpack-dev-server": "^4.2.1"
28+
"webpack-dev-server": "^4.2.1",
29+
"webpack-glsl-loader": "^1.0.1"
2930
},
3031
"dependencies": {
3132
"d3": "^7.1.1",
3233
"deepslate": "0.9.0-beta.5",
3334
"leaflet": "^1.7.1",
35+
"leaflet.tilelayer.gl": "2.4.1",
3436
"lodash": "^4.17.21",
3537
"marchingsquares": "^1.3.3",
3638
"tilelayer-canvas": "^1.1.3",

src/main/BuilderData/BiomeBuilder.ts

+1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export type MultiNoiseIndexes = { d: number, w: number, c: number, e: number, h:
1818
export type PartialMultiNoiseIndexes = { d?: number, w?: number, c?: number, e?: number, h?: number, t?: number }
1919

2020
export type NoiseSetting = { firstOctave: number, amplitudes: number[] }
21+
export type NoiseType = "continentalness" | "weirdness" | "erosion" | "temperature" | "humidity" | "shift"
2122

2223
export class BiomeBuilder {
2324
hasChanges: boolean

src/main/UI/VisualizationManager.ts

+13-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { last } from "lodash";
44
import { BiomeBuilder } from "../BuilderData/BiomeBuilder";
55
import { GridElementUnassigned } from "../BuilderData/GridElementUnassigned";
66
import { BiomeLayer } from "../Visualization/BiomeLayer";
7+
import { BiomeLayerGL } from "../Visualization/BiomeLayerGL";
78
import { ContourLayer } from "../Visualization/ContourLayer";
89
import { GridMultiNoise } from "../Visualization/GridMultiNoise";
910
import { GridMultiNoiseIndicesManager } from "../Visualization/GridMultiNoiseIndicesManager";
@@ -24,6 +25,7 @@ export class VisualizationManger{
2425
constructor(builder: BiomeBuilder){
2526
this.builder = builder
2627

28+
2729
const panel = document.getElementById('visualization')
2830

2931
this.closeContainer = panel.parentElement.parentElement;
@@ -37,14 +39,20 @@ export class VisualizationManger{
3739
this.map = L.map('visualization_map')
3840
this.map.setView([0,0], 15)
3941
this.map.setMaxZoom(18)
40-
this.map.setMinZoom(13)
42+
this.map.setMinZoom(11)
4143

4244
this.indicesManger = new GridMultiNoiseIndicesManager(this.builder, this.biomeSource)
4345

4446
this.updateNoises()
4547

48+
//const glLayerManager = new GLLayerManager()
49+
//glLayerManager.addLayerTo(this.map)
50+
51+
const biomeLayerGL = new BiomeLayerGL();
52+
biomeLayerGL.addTo(this.map);
53+
4654
this.biomeLayer = new BiomeLayer(this.builder, this.indicesManger);
47-
this.biomeLayer.addTo(this.map)
55+
//this.biomeLayer.addTo(this.map)
4856

4957
this.contourLayer = new ContourLayer(this.builder, this.indicesManger);
5058
//this.contourLayer.addTo(this.map)
@@ -133,6 +141,9 @@ export class VisualizationManger{
133141

134142
this.map.addEventListener("mousemove", (evt: L.LeafletMouseEvent) => {
135143
const idxs = this.getIdxs(evt.latlng);
144+
if (idxs === undefined){
145+
return
146+
}
136147
const lookup = idxs ? this.builder.lookupRecursiveWithTracking(idxs.idx) : undefined
137148

138149
tooltip.style.left = (Math.min(evt.originalEvent.pageX + 20, document.body.clientWidth - tooltip.clientWidth)) + "px"

0 commit comments

Comments
 (0)