@3driseai/3drise-viewer 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Clouds.d.ts.map +1 -1
- package/dist/components/Clouds.js +0 -1
- package/dist/components/CloudsGenerator.d.ts +32 -0
- package/dist/components/CloudsGenerator.d.ts.map +1 -0
- package/dist/components/CloudsGenerator.js +58 -0
- package/dist/components/EnvironmentManager.d.ts +47 -5
- package/dist/components/EnvironmentManager.d.ts.map +1 -1
- package/dist/components/EnvironmentManager.js +35 -66
- package/dist/components/HdrEnvironment.d.ts +20 -0
- package/dist/components/HdrEnvironment.d.ts.map +1 -0
- package/dist/components/HdrEnvironment.js +44 -0
- package/dist/components/LandscapeBuilder.d.ts +23 -0
- package/dist/components/LandscapeBuilder.d.ts.map +1 -0
- package/dist/components/LandscapeBuilder.js +25 -0
- package/dist/components/LandscapeObject.d.ts +24 -0
- package/dist/components/LandscapeObject.d.ts.map +1 -0
- package/dist/components/LandscapeObject.js +27 -0
- package/dist/components/ObjectNode.d.ts.map +1 -1
- package/dist/components/ObjectNode.js +10 -0
- package/dist/components/OceanBuilder.d.ts +35 -0
- package/dist/components/OceanBuilder.d.ts.map +1 -0
- package/dist/components/OceanBuilder.js +53 -0
- package/dist/components/SceneBuilder.d.ts.map +1 -1
- package/dist/components/SkySystem.d.ts +27 -6
- package/dist/components/SkySystem.d.ts.map +1 -1
- package/dist/components/SkySystem.js +6 -5
- package/dist/components/SunLight.d.ts.map +1 -1
- package/dist/components/SunLight.js +4 -1
- package/dist/components/TerrainBuilder.d.ts +30 -0
- package/dist/components/TerrainBuilder.d.ts.map +1 -0
- package/dist/components/TerrainBuilder.js +44 -0
- package/dist/components/index.d.ts +17 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +10 -0
- package/dist/components/landscape/LandscapeMesh.d.ts +18 -0
- package/dist/components/landscape/LandscapeMesh.d.ts.map +1 -0
- package/dist/components/landscape/LandscapeMesh.js +278 -0
- package/dist/components/landscape/index.d.ts +3 -0
- package/dist/components/landscape/index.d.ts.map +1 -0
- package/dist/components/landscape/index.js +1 -0
- package/dist/components/landscape/types.d.ts +13 -0
- package/dist/components/landscape/types.d.ts.map +1 -0
- package/dist/components/landscape/types.js +1 -0
- package/dist/components/terrain/Canyon.d.ts +23 -0
- package/dist/components/terrain/Canyon.d.ts.map +1 -0
- package/dist/components/terrain/Canyon.js +29 -0
- package/dist/components/terrain/Dunes.d.ts +22 -0
- package/dist/components/terrain/Dunes.d.ts.map +1 -0
- package/dist/components/terrain/Dunes.js +25 -0
- package/dist/components/terrain/Hills.d.ts +17 -0
- package/dist/components/terrain/Hills.d.ts.map +1 -0
- package/dist/components/terrain/Hills.js +20 -0
- package/dist/components/terrain/Mountains.d.ts +19 -0
- package/dist/components/terrain/Mountains.d.ts.map +1 -0
- package/dist/components/terrain/Mountains.js +22 -0
- package/dist/components/terrain/TerrainSurface.d.ts +22 -0
- package/dist/components/terrain/TerrainSurface.d.ts.map +1 -0
- package/dist/components/terrain/TerrainSurface.js +94 -0
- package/dist/components/terrain/index.d.ts +7 -0
- package/dist/components/terrain/index.d.ts.map +1 -0
- package/dist/components/terrain/index.js +7 -0
- package/dist/components/terrain/types.d.ts +17 -0
- package/dist/components/terrain/types.d.ts.map +1 -0
- package/dist/components/terrain/types.js +1 -0
- package/dist/components/volumetricClouds/Cirrus.d.ts +14 -0
- package/dist/components/volumetricClouds/Cirrus.d.ts.map +1 -0
- package/dist/components/volumetricClouds/Cirrus.js +13 -0
- package/dist/components/volumetricClouds/Cumulonimbus.d.ts +17 -0
- package/dist/components/volumetricClouds/Cumulonimbus.d.ts.map +1 -0
- package/dist/components/volumetricClouds/Cumulonimbus.js +20 -0
- package/dist/components/volumetricClouds/Cumulus.d.ts +14 -0
- package/dist/components/volumetricClouds/Cumulus.d.ts.map +1 -0
- package/dist/components/volumetricClouds/Cumulus.js +17 -0
- package/dist/components/volumetricClouds/Stratocumulus.d.ts +12 -0
- package/dist/components/volumetricClouds/Stratocumulus.d.ts.map +1 -0
- package/dist/components/volumetricClouds/Stratocumulus.js +16 -0
- package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts +42 -0
- package/dist/components/volumetricClouds/VolumetricCloudsPass.d.ts.map +1 -0
- package/dist/components/volumetricClouds/VolumetricCloudsPass.js +298 -0
- package/dist/components/volumetricClouds/index.d.ts +8 -0
- package/dist/components/volumetricClouds/index.d.ts.map +1 -0
- package/dist/components/volumetricClouds/index.js +7 -0
- package/dist/components/volumetricClouds/types.d.ts +17 -0
- package/dist/components/volumetricClouds/types.d.ts.map +1 -0
- package/dist/components/volumetricClouds/types.js +1 -0
- package/dist/components/water/Host.d.ts +12 -0
- package/dist/components/water/Host.d.ts.map +1 -0
- package/dist/components/water/Host.js +12 -0
- package/dist/components/water/Lake.d.ts +18 -0
- package/dist/components/water/Lake.d.ts.map +1 -0
- package/dist/components/water/Lake.js +21 -0
- package/dist/components/water/OceanSurface.d.ts +27 -0
- package/dist/components/water/OceanSurface.d.ts.map +1 -0
- package/dist/components/water/OceanSurface.js +60 -0
- package/dist/components/water/Sea.d.ts +18 -0
- package/dist/components/water/Sea.d.ts.map +1 -0
- package/dist/components/water/Sea.js +17 -0
- package/dist/components/water/Shore.d.ts +16 -0
- package/dist/components/water/Shore.d.ts.map +1 -0
- package/dist/components/water/Shore.js +15 -0
- package/dist/components/water/Storm.d.ts +14 -0
- package/dist/components/water/Storm.d.ts.map +1 -0
- package/dist/components/water/Storm.js +13 -0
- package/dist/components/water/WaterBody.d.ts +31 -0
- package/dist/components/water/WaterBody.d.ts.map +1 -0
- package/dist/components/water/WaterBody.js +76 -0
- package/dist/components/water/index.d.ts +9 -0
- package/dist/components/water/index.d.ts.map +1 -0
- package/dist/components/water/index.js +11 -0
- package/dist/components/water/types.d.ts +20 -0
- package/dist/components/water/types.d.ts.map +1 -0
- package/dist/components/water/types.js +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +9 -0
- package/dist/hooks/index.d.ts +24 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +12 -0
- package/dist/hooks/useClipmap.d.ts +71 -0
- package/dist/hooks/useClipmap.d.ts.map +1 -0
- package/dist/hooks/useClipmap.js +81 -0
- package/dist/hooks/useCloudLive.d.ts +29 -0
- package/dist/hooks/useCloudLive.d.ts.map +1 -0
- package/dist/hooks/useCloudLive.js +43 -0
- package/dist/hooks/useCloudNoise.d.ts +28 -0
- package/dist/hooks/useCloudNoise.d.ts.map +1 -0
- package/dist/hooks/useCloudNoise.js +128 -0
- package/dist/hooks/useCloudSun.d.ts +49 -0
- package/dist/hooks/useCloudSun.d.ts.map +1 -0
- package/dist/hooks/useCloudSun.js +84 -0
- package/dist/hooks/useCubeCamera.d.ts +27 -9
- package/dist/hooks/useCubeCamera.d.ts.map +1 -1
- package/dist/hooks/useCubeCamera.js +28 -70
- package/dist/hooks/useEnvironmentProbe.d.ts +32 -0
- package/dist/hooks/useEnvironmentProbe.d.ts.map +1 -0
- package/dist/hooks/useEnvironmentProbe.js +35 -0
- package/dist/hooks/useFrameRenderer.d.ts +15 -0
- package/dist/hooks/useFrameRenderer.d.ts.map +1 -0
- package/dist/hooks/useFrameRenderer.js +23 -0
- package/dist/hooks/useLandscapeLive.d.ts +29 -0
- package/dist/hooks/useLandscapeLive.d.ts.map +1 -0
- package/dist/hooks/useLandscapeLive.js +41 -0
- package/dist/hooks/useLandscapeMaps.d.ts +32 -0
- package/dist/hooks/useLandscapeMaps.d.ts.map +1 -0
- package/dist/hooks/useLandscapeMaps.js +138 -0
- package/dist/hooks/useOceanLive.d.ts +29 -0
- package/dist/hooks/useOceanLive.d.ts.map +1 -0
- package/dist/hooks/useOceanLive.js +38 -0
- package/dist/hooks/useOceanMaterial.d.ts +39 -0
- package/dist/hooks/useOceanMaterial.d.ts.map +1 -0
- package/dist/hooks/useOceanMaterial.js +65 -0
- package/dist/hooks/useTerrainClipmap.d.ts +12 -0
- package/dist/hooks/useTerrainClipmap.d.ts.map +1 -0
- package/dist/hooks/useTerrainClipmap.js +10 -0
- package/dist/hooks/useTerrainLive.d.ts +34 -0
- package/dist/hooks/useTerrainLive.d.ts.map +1 -0
- package/dist/hooks/useTerrainLive.js +45 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -0
- package/dist/presets/landscapePresets.d.ts +60 -0
- package/dist/presets/landscapePresets.d.ts.map +1 -0
- package/dist/presets/landscapePresets.js +194 -0
- package/dist/presets/landscapeTypes.d.ts +195 -0
- package/dist/presets/landscapeTypes.d.ts.map +1 -0
- package/dist/presets/landscapeTypes.js +315 -0
- package/dist/presets/oceanSurfacePresets.d.ts +33 -0
- package/dist/presets/oceanSurfacePresets.d.ts.map +1 -0
- package/dist/presets/oceanSurfacePresets.js +245 -0
- package/dist/presets/terrainPresets.d.ts +28 -0
- package/dist/presets/terrainPresets.d.ts.map +1 -0
- package/dist/presets/terrainPresets.js +293 -0
- package/dist/presets/volumetricCloudPresets.d.ts +38 -0
- package/dist/presets/volumetricCloudPresets.d.ts.map +1 -0
- package/dist/presets/volumetricCloudPresets.js +480 -0
- package/dist/shaders/clouds/CirrusMaterial.d.ts +84 -0
- package/dist/shaders/clouds/CirrusMaterial.d.ts.map +1 -0
- package/dist/shaders/clouds/CirrusMaterial.js +167 -0
- package/dist/shaders/clouds/CloudCompositeMaterial.d.ts +20 -0
- package/dist/shaders/clouds/CloudCompositeMaterial.d.ts.map +1 -0
- package/dist/shaders/clouds/CloudCompositeMaterial.js +82 -0
- package/dist/shaders/clouds/CloudResolveMaterial.d.ts +22 -0
- package/dist/shaders/clouds/CloudResolveMaterial.d.ts.map +1 -0
- package/dist/shaders/clouds/CloudResolveMaterial.js +77 -0
- package/dist/shaders/clouds/CloudVolumeMaterial.d.ts +143 -0
- package/dist/shaders/clouds/CloudVolumeMaterial.d.ts.map +1 -0
- package/dist/shaders/clouds/CloudVolumeMaterial.js +249 -0
- package/dist/shaders/clouds/SkyBackgroundMaterial.d.ts +21 -0
- package/dist/shaders/clouds/SkyBackgroundMaterial.d.ts.map +1 -0
- package/dist/shaders/clouds/SkyBackgroundMaterial.js +42 -0
- package/dist/shaders/glsl/cloudCore.glsl.d.ts +24 -0
- package/dist/shaders/glsl/cloudCore.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/cloudCore.glsl.js +348 -0
- package/dist/shaders/glsl/landscapeCore.glsl.d.ts +49 -0
- package/dist/shaders/glsl/landscapeCore.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/landscapeCore.glsl.js +518 -0
- package/dist/shaders/glsl/noiseBake.glsl.d.ts +30 -0
- package/dist/shaders/glsl/noiseBake.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/noiseBake.glsl.js +164 -0
- package/dist/shaders/glsl/oceanCore.glsl.d.ts +52 -0
- package/dist/shaders/glsl/oceanCore.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/oceanCore.glsl.js +421 -0
- package/dist/shaders/glsl/terrainCore.glsl.d.ts +78 -0
- package/dist/shaders/glsl/terrainCore.glsl.d.ts.map +1 -0
- package/dist/shaders/glsl/terrainCore.glsl.js +625 -0
- package/dist/shaders/landscape/LandscapeMaterial.d.ts +73 -0
- package/dist/shaders/landscape/LandscapeMaterial.d.ts.map +1 -0
- package/dist/shaders/landscape/LandscapeMaterial.js +136 -0
- package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts +57 -0
- package/dist/shaders/ocean/OceanSurfaceMaterial.d.ts.map +1 -0
- package/dist/shaders/ocean/OceanSurfaceMaterial.js +268 -0
- package/dist/shaders/terrain/TerrainMaterial.d.ts +80 -0
- package/dist/shaders/terrain/TerrainMaterial.d.ts.map +1 -0
- package/dist/shaders/terrain/TerrainMaterial.js +291 -0
- package/dist/types/cloudConfigs.d.ts +244 -0
- package/dist/types/cloudConfigs.d.ts.map +1 -0
- package/dist/types/cloudConfigs.js +282 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +4 -1
- package/dist/types/landscapeConfigs.d.ts +218 -0
- package/dist/types/landscapeConfigs.d.ts.map +1 -0
- package/dist/types/landscapeConfigs.js +256 -0
- package/dist/types/oceanConfigs.d.ts +290 -0
- package/dist/types/oceanConfigs.d.ts.map +1 -0
- package/dist/types/oceanConfigs.js +380 -0
- package/dist/types/terrainConfigs.d.ts +251 -0
- package/dist/types/terrainConfigs.d.ts.map +1 -0
- package/dist/types/terrainConfigs.js +292 -0
- package/dist/utils/cloudUniforms.d.ts +14 -0
- package/dist/utils/cloudUniforms.d.ts.map +1 -0
- package/dist/utils/cloudUniforms.js +122 -0
- package/dist/utils/frameRenderer.d.ts +33 -0
- package/dist/utils/frameRenderer.d.ts.map +1 -0
- package/dist/utils/frameRenderer.js +24 -0
- package/dist/utils/handleCloudsAnimations.d.ts +16 -0
- package/dist/utils/handleCloudsAnimations.d.ts.map +1 -0
- package/dist/utils/handleCloudsAnimations.js +64 -0
- package/dist/utils/landscapeGeometry.d.ts +61 -0
- package/dist/utils/landscapeGeometry.d.ts.map +1 -0
- package/dist/utils/landscapeGeometry.js +126 -0
- package/dist/utils/landscapeHeight.d.ts +44 -0
- package/dist/utils/landscapeHeight.d.ts.map +1 -0
- package/dist/utils/landscapeHeight.js +65 -0
- package/dist/utils/landscapeTextures.d.ts +94 -0
- package/dist/utils/landscapeTextures.d.ts.map +1 -0
- package/dist/utils/landscapeTextures.js +290 -0
- package/dist/utils/landscapeUniforms.d.ts +20 -0
- package/dist/utils/landscapeUniforms.d.ts.map +1 -0
- package/dist/utils/landscapeUniforms.js +61 -0
- package/dist/utils/oceanUniforms.d.ts +47 -0
- package/dist/utils/oceanUniforms.d.ts.map +1 -0
- package/dist/utils/oceanUniforms.js +216 -0
- package/dist/utils/rtin.d.ts +63 -0
- package/dist/utils/rtin.d.ts.map +1 -0
- package/dist/utils/rtin.js +202 -0
- package/dist/utils/terrainUniforms.d.ts +14 -0
- package/dist/utils/terrainUniforms.d.ts.map +1 -0
- package/dist/utils/terrainUniforms.js +196 -0
- package/package.json +2 -2
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
// =============================================================================
|
|
2
|
+
// Mountains
|
|
3
|
+
// =============================================================================
|
|
4
|
+
const mountainPresets = [
|
|
5
|
+
{
|
|
6
|
+
name: 'Alpine range',
|
|
7
|
+
terrainType: 'mountains',
|
|
8
|
+
description: 'Sharp granite ridges above a snow line, glaciated valleys between them. The default mountain.',
|
|
9
|
+
tags: ['snow', 'sharp', 'high', 'granite'],
|
|
10
|
+
settings: {
|
|
11
|
+
elevation: 1700, featureSize: 3800, octaves: 9, gain: 0.5,
|
|
12
|
+
ridgeSharpness: 0.68, warpStrength: 0.3, erosion: 0.75,
|
|
13
|
+
peakLevel: 0.7, peakBlend: 0.1, peakSlopeFalloff: 1.6,
|
|
14
|
+
lowColor: '#3c4a33', midColor: '#5b5a44', rockColor: '#6d6659', peakColor: '#f2f5fa',
|
|
15
|
+
slopeRockStart: 0.3, slopeRockEnd: 0.55,
|
|
16
|
+
aerialPerspective: 0.00005,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: 'Foothills',
|
|
21
|
+
terrainType: 'mountains',
|
|
22
|
+
description: 'The approach rather than the summit: broad shoulders, forest colours, no snow.',
|
|
23
|
+
tags: ['low', 'green', 'gentle', 'approach'],
|
|
24
|
+
settings: {
|
|
25
|
+
elevation: 520, featureSize: 2400, octaves: 8, gain: 0.47,
|
|
26
|
+
ridgeSharpness: 0.4, warpStrength: 0.38, erosion: 0.6,
|
|
27
|
+
peakLevel: 0.92, peakBlend: 0.15,
|
|
28
|
+
lowColor: '#37461f', midColor: '#4c5730', rockColor: '#75695a', peakColor: '#8b9166',
|
|
29
|
+
slopeRockStart: 0.42, slopeRockEnd: 0.7,
|
|
30
|
+
aerialPerspective: 0.00009,
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
name: 'Volcanic',
|
|
35
|
+
terrainType: 'mountains',
|
|
36
|
+
description: 'Steep, dark and young. Little erosion, so the flanks stay smooth and the ridges stay raw.',
|
|
37
|
+
tags: ['dark', 'basalt', 'steep', 'ash'],
|
|
38
|
+
settings: {
|
|
39
|
+
elevation: 1300, featureSize: 3000, octaves: 8, gain: 0.54,
|
|
40
|
+
ridgeSharpness: 0.5, warpStrength: 0.16, erosion: 0.25,
|
|
41
|
+
peakLevel: 0.86, peakBlend: 0.06, peakSlopeFalloff: 2.2,
|
|
42
|
+
lowColor: '#2a2622', midColor: '#3a342e', rockColor: '#4a423a', peakColor: '#d8d4cc',
|
|
43
|
+
slopeRockStart: 0.22, slopeRockEnd: 0.45,
|
|
44
|
+
macroVariation: 0.34, roughness: 0.94, specular: 0.02,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
name: 'Dolomite towers',
|
|
49
|
+
terrainType: 'mountains',
|
|
50
|
+
description: 'Pale limestone spires with banded walls. Strata on, sharpened hard.',
|
|
51
|
+
tags: ['limestone', 'towers', 'strata', 'pale'],
|
|
52
|
+
settings: {
|
|
53
|
+
elevation: 1250, featureSize: 2600, octaves: 9, gain: 0.55,
|
|
54
|
+
ridgeSharpness: 0.82, warpStrength: 0.22, erosion: 0.5,
|
|
55
|
+
terraces: 22, terraceSharpness: 0.85,
|
|
56
|
+
peakLevel: 0.74, peakBlend: 0.08,
|
|
57
|
+
lowColor: '#4a5238', midColor: '#7d7867', rockColor: '#b3ab9a', peakColor: '#eef0f4',
|
|
58
|
+
slopeRockStart: 0.22, slopeRockEnd: 0.42,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
name: 'Eroded highlands',
|
|
63
|
+
terrainType: 'mountains',
|
|
64
|
+
description: 'Old, worn and wide. Erosion near maximum flattens the floors and leaves the ridges as fins.',
|
|
65
|
+
tags: ['old', 'worn', 'moorland', 'wide'],
|
|
66
|
+
settings: {
|
|
67
|
+
elevation: 800, featureSize: 5000, octaves: 10, gain: 0.44,
|
|
68
|
+
ridgeSharpness: 0.55, warpStrength: 0.46, erosion: 0.95,
|
|
69
|
+
peakLevel: 0.88, peakBlend: 0.22,
|
|
70
|
+
lowColor: '#454a2e', midColor: '#5e5a3d', rockColor: '#726a5c', peakColor: '#9aa07c',
|
|
71
|
+
slopeRockStart: 0.4, slopeRockEnd: 0.68,
|
|
72
|
+
macroVariation: 0.34, aerialPerspective: 0.00007,
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
|
+
];
|
|
76
|
+
// =============================================================================
|
|
77
|
+
// Dunes
|
|
78
|
+
// =============================================================================
|
|
79
|
+
const dunePresets = [
|
|
80
|
+
{
|
|
81
|
+
name: 'Erg',
|
|
82
|
+
terrainType: 'dunes',
|
|
83
|
+
description: 'A full sand sea: tall transverse dunes, crest after crest to the horizon.',
|
|
84
|
+
tags: ['sahara', 'tall', 'transverse', 'sand sea'],
|
|
85
|
+
settings: {
|
|
86
|
+
elevation: 180, featureSize: 5200, duneWavelength: 420, duneAsymmetry: 0.7,
|
|
87
|
+
octaves: 6, gain: 0.44, warpStrength: 0.22,
|
|
88
|
+
lowColor: '#b08a53', midColor: '#dcb87e', peakColor: '#f4e2bc',
|
|
89
|
+
specular: 0.18, bounce: 0.6,
|
|
90
|
+
},
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
name: 'Barchan field',
|
|
94
|
+
terrainType: 'dunes',
|
|
95
|
+
description: 'Isolated crescent dunes on a hard desert floor. Low, widely spaced, strong slip faces.',
|
|
96
|
+
tags: ['crescent', 'sparse', 'low', 'hardpan'],
|
|
97
|
+
settings: {
|
|
98
|
+
elevation: 70, featureSize: 2800, duneWavelength: 260, duneAsymmetry: 0.88,
|
|
99
|
+
octaves: 6, gain: 0.38, warpStrength: 0.3,
|
|
100
|
+
lowColor: '#9c8360', midColor: '#c8a878', peakColor: '#e8d2a8',
|
|
101
|
+
macroVariation: 0.2, specular: 0.14,
|
|
102
|
+
},
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
name: 'Coastal dunes',
|
|
106
|
+
terrainType: 'dunes',
|
|
107
|
+
description: 'Low marram-held ridges behind a beach. Damp sand, so more sheen and cooler colour.',
|
|
108
|
+
tags: ['coast', 'low', 'damp', 'beach'],
|
|
109
|
+
settings: {
|
|
110
|
+
elevation: 34, featureSize: 1600, duneWavelength: 120, duneAsymmetry: 0.5,
|
|
111
|
+
octaves: 7, gain: 0.46, warpStrength: 0.4, ridgeSharpness: 0.1,
|
|
112
|
+
lowColor: '#a99b7c', midColor: '#cfc3a3', peakColor: '#e6dcc4',
|
|
113
|
+
roughness: 0.42, specular: 0.3, detailSize: 2.2, detailStrength: 0.4,
|
|
114
|
+
aerialPerspective: 0.00011,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: 'Red desert',
|
|
119
|
+
terrainType: 'dunes',
|
|
120
|
+
description: 'Iron-stained linear dunes: long parallel ridges rather than a crescent field.',
|
|
121
|
+
tags: ['red', 'linear', 'outback', 'iron'],
|
|
122
|
+
settings: {
|
|
123
|
+
elevation: 120, featureSize: 8000, duneWavelength: 520, duneAsymmetry: 0.4,
|
|
124
|
+
octaves: 5, gain: 0.4, warpStrength: 0.1,
|
|
125
|
+
lowColor: '#8c3f22', midColor: '#c06334', rockColor: '#9c5029', peakColor: '#e09a5c',
|
|
126
|
+
macroVariation: 0.24, specular: 0.1,
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: 'Salt flat',
|
|
131
|
+
terrainType: 'dunes',
|
|
132
|
+
description: 'Almost nothing: a bright pan with the faintest relief. The reference for a flat, huge horizon.',
|
|
133
|
+
tags: ['flat', 'bright', 'playa', 'minimal'],
|
|
134
|
+
settings: {
|
|
135
|
+
elevation: 6, featureSize: 12000, duneWavelength: 900, duneAsymmetry: 0.1,
|
|
136
|
+
octaves: 5, gain: 0.42, warpStrength: 0.5, ridgeSharpness: 0,
|
|
137
|
+
lowColor: '#cfc9bc', midColor: '#e8e4da', peakColor: '#f8f6f1',
|
|
138
|
+
slopeRockStart: 0.8, slopeRockEnd: 0.95,
|
|
139
|
+
macroVariation: 0.16, roughness: 0.4, specular: 0.22,
|
|
140
|
+
aerialPerspective: 0.00013,
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
];
|
|
144
|
+
// =============================================================================
|
|
145
|
+
// Hills
|
|
146
|
+
// =============================================================================
|
|
147
|
+
const hillPresets = [
|
|
148
|
+
{
|
|
149
|
+
name: 'Downland',
|
|
150
|
+
terrainType: 'hills',
|
|
151
|
+
description: 'Soft chalk hills under grass. Wide, rounded and calm — the friendly default.',
|
|
152
|
+
tags: ['grass', 'rounded', 'calm', 'pastoral'],
|
|
153
|
+
settings: {
|
|
154
|
+
elevation: 160, featureSize: 3000, octaves: 8, gain: 0.45,
|
|
155
|
+
ridgeSharpness: 0.02, warpStrength: 0.34, erosion: 0.4,
|
|
156
|
+
lowColor: '#3f5326', midColor: '#5b6b3c', peakColor: '#93a06a',
|
|
157
|
+
},
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
name: 'Steppe',
|
|
161
|
+
terrainType: 'hills',
|
|
162
|
+
description: 'Almost flat, very wide. Dry grass to the horizon with barely a fold in it.',
|
|
163
|
+
tags: ['flat', 'dry', 'wide', 'grassland'],
|
|
164
|
+
settings: {
|
|
165
|
+
elevation: 55, featureSize: 9000, octaves: 7, gain: 0.42,
|
|
166
|
+
ridgeSharpness: 0, warpStrength: 0.45, erosion: 0.35,
|
|
167
|
+
lowColor: '#6b6836', midColor: '#8a8047', peakColor: '#a89a63',
|
|
168
|
+
macroVariation: 0.36, aerialPerspective: 0.0001,
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
name: 'Moorland',
|
|
173
|
+
terrainType: 'hills',
|
|
174
|
+
description: 'Peat and heather over rough ground: darker, coarser and more broken than downland.',
|
|
175
|
+
tags: ['heather', 'peat', 'rough', 'dark'],
|
|
176
|
+
settings: {
|
|
177
|
+
elevation: 280, featureSize: 3400, octaves: 9, gain: 0.5,
|
|
178
|
+
ridgeSharpness: 0.18, warpStrength: 0.28, erosion: 0.62,
|
|
179
|
+
lowColor: '#3a3626', midColor: '#4f4630', rockColor: '#6b6455', peakColor: '#6e6444',
|
|
180
|
+
slopeRockStart: 0.42, slopeRockEnd: 0.68,
|
|
181
|
+
macroVariation: 0.4, detailStrength: 0.65,
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
name: 'Meadow valley',
|
|
186
|
+
terrainType: 'hills',
|
|
187
|
+
description: 'A single broad valley with soft shoulders. Heavy erosion gives it a real floor to stand on.',
|
|
188
|
+
tags: ['valley', 'green', 'floor', 'soft'],
|
|
189
|
+
settings: {
|
|
190
|
+
elevation: 220, featureSize: 5200, octaves: 8, gain: 0.43,
|
|
191
|
+
ridgeSharpness: 0.08, warpStrength: 0.5, erosion: 0.88,
|
|
192
|
+
lowColor: '#445a24', midColor: '#5d6f36', peakColor: '#8fa15f',
|
|
193
|
+
macroVariation: 0.3,
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
name: 'Tundra',
|
|
198
|
+
terrainType: 'hills',
|
|
199
|
+
description: 'Low frozen ground with snow settling in the hollows rather than on the tops.',
|
|
200
|
+
tags: ['cold', 'snow', 'low', 'arctic'],
|
|
201
|
+
settings: {
|
|
202
|
+
elevation: 130, featureSize: 4200, octaves: 8, gain: 0.44,
|
|
203
|
+
ridgeSharpness: 0.05, warpStrength: 0.36, erosion: 0.5,
|
|
204
|
+
lowColor: '#8e9299', midColor: '#6d6f66', rockColor: '#5f5d58', peakColor: '#eaf0f6',
|
|
205
|
+
peakLevel: 0.5, peakBlend: 0.28, peakSlopeFalloff: 0.8,
|
|
206
|
+
roughness: 0.6, specular: 0.12, ambient: 1.2,
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
];
|
|
210
|
+
// =============================================================================
|
|
211
|
+
// Canyon
|
|
212
|
+
// =============================================================================
|
|
213
|
+
const canyonPresets = [
|
|
214
|
+
{
|
|
215
|
+
name: 'Red canyon',
|
|
216
|
+
terrainType: 'canyon',
|
|
217
|
+
description: 'Banded sandstone walls above a branching network of washes. The default canyon.',
|
|
218
|
+
tags: ['sandstone', 'red', 'strata', 'network'],
|
|
219
|
+
settings: {
|
|
220
|
+
elevation: 700, featureSize: 2800, plateau: 0.55, valleyDepth: 0.8, valleyWidth: 0.22,
|
|
221
|
+
terraces: 14, terraceSharpness: 0.72, erosion: 0.85,
|
|
222
|
+
lowColor: '#7a4a30', midColor: '#a4643c', rockColor: '#c07a4a', peakColor: '#d9a877',
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
name: 'Slot canyon',
|
|
227
|
+
terrainType: 'canyon',
|
|
228
|
+
description: 'A narrow deep cut in an almost flat plateau. Incision at its narrowest and deepest.',
|
|
229
|
+
tags: ['narrow', 'deep', 'slot', 'antelope'],
|
|
230
|
+
settings: {
|
|
231
|
+
elevation: 420, featureSize: 3200, plateau: 0.85, valleyDepth: 1.25, valleyWidth: 0.07,
|
|
232
|
+
terraces: 20, terraceSharpness: 0.9, erosion: 0.7, octaves: 9,
|
|
233
|
+
lowColor: '#6b3a22', midColor: '#a35a2c', rockColor: '#cf8348', peakColor: '#c9a06a',
|
|
234
|
+
shadowSoftness: 5,
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
name: 'Mesa country',
|
|
239
|
+
terrainType: 'canyon',
|
|
240
|
+
description: 'Flat-topped tables standing above a wide desert floor, cut well apart from each other.',
|
|
241
|
+
tags: ['mesa', 'butte', 'flat top', 'monument'],
|
|
242
|
+
settings: {
|
|
243
|
+
elevation: 620, featureSize: 4200, plateau: 0.95, valleyDepth: 1.1, valleyWidth: 0.55,
|
|
244
|
+
terraces: 10, terraceSharpness: 0.95, erosion: 0.9, ridgeSharpness: 0.2,
|
|
245
|
+
lowColor: '#8a5a3a', midColor: '#b0703f', rockColor: '#c9834c', peakColor: '#e0b184',
|
|
246
|
+
slopeRockStart: 0.2, slopeRockEnd: 0.38,
|
|
247
|
+
aerialPerspective: 0.00007,
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
name: 'Badlands',
|
|
252
|
+
terrainType: 'canyon',
|
|
253
|
+
description: 'Densely dissected, chaotic and low. Almost all wall and almost no floor.',
|
|
254
|
+
tags: ['dissected', 'chaotic', 'low', 'clay'],
|
|
255
|
+
settings: {
|
|
256
|
+
elevation: 240, featureSize: 1800, plateau: 0.4, valleyDepth: 0.9, valleyWidth: 0.42,
|
|
257
|
+
terraces: 26, terraceSharpness: 0.6, erosion: 0.55, octaves: 10, ridgeSharpness: 0.45,
|
|
258
|
+
lowColor: '#6e6252', midColor: '#94836a', rockColor: '#ab9a80', peakColor: '#c9bda4',
|
|
259
|
+
macroVariation: 0.34,
|
|
260
|
+
},
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
name: 'Grand gorge',
|
|
264
|
+
terrainType: 'canyon',
|
|
265
|
+
description: 'One enormous incision across a high plateau, layered from rim to river. Built for the horizon.',
|
|
266
|
+
tags: ['huge', 'layered', 'rim', 'grand'],
|
|
267
|
+
settings: {
|
|
268
|
+
elevation: 1600, featureSize: 9000, plateau: 0.75, valleyDepth: 1.35, valleyWidth: 0.3,
|
|
269
|
+
terraces: 30, terraceSharpness: 0.8, erosion: 0.92, octaves: 10,
|
|
270
|
+
lowColor: '#6a4130', midColor: '#9a5f3c', rockColor: '#bd7c4e', peakColor: '#d4ab80',
|
|
271
|
+
aerialPerspective: 0.00007,
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
];
|
|
275
|
+
// =============================================================================
|
|
276
|
+
// Registry
|
|
277
|
+
// =============================================================================
|
|
278
|
+
export const terrainPresets = [
|
|
279
|
+
...mountainPresets,
|
|
280
|
+
...dunePresets,
|
|
281
|
+
...hillPresets,
|
|
282
|
+
...canyonPresets,
|
|
283
|
+
];
|
|
284
|
+
export function getTerrainPresetsForType(type) {
|
|
285
|
+
return terrainPresets.filter((p) => p.terrainType === type);
|
|
286
|
+
}
|
|
287
|
+
export function getTerrainPresetByName(name) {
|
|
288
|
+
return terrainPresets.find((p) => p.name === name);
|
|
289
|
+
}
|
|
290
|
+
export function searchTerrainPresetsByTags(tags) {
|
|
291
|
+
const wanted = tags.map((t) => t.toLowerCase());
|
|
292
|
+
return terrainPresets.filter((p) => p.tags.some((t) => wanted.includes(t.toLowerCase())));
|
|
293
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { CirrusLayerConfig, CloudDeckSurfaceConfig, CloudDeckType } from '../types/cloudConfigs';
|
|
2
|
+
/**
|
|
3
|
+
* Presets for the volumetric cloud system.
|
|
4
|
+
*
|
|
5
|
+
* They live here rather than in core/src/presets because they are partial
|
|
6
|
+
* CloudDeckConfig / CirrusLayerConfig, and those types are declared in this
|
|
7
|
+
* package alongside the shader that consumes them.
|
|
8
|
+
*
|
|
9
|
+
* Each entry is a *patch* over the type's defaults, not a full config, so a knob
|
|
10
|
+
* added to the renderer inherits its default everywhere instead of silently
|
|
11
|
+
* reverting to whatever a preset happened to be authored with.
|
|
12
|
+
*
|
|
13
|
+
* The names are the meteorological species, because they are the fastest way to
|
|
14
|
+
* describe a silhouette to someone who has looked at a sky: humilis really is a
|
|
15
|
+
* flat little puff, congestus really is a tower, fractus really is a torn shred.
|
|
16
|
+
*/
|
|
17
|
+
export interface VolumetricCloudPreset {
|
|
18
|
+
name: string;
|
|
19
|
+
/** Which deck type the preset belongs to. */
|
|
20
|
+
deckType: CloudDeckType;
|
|
21
|
+
description: string;
|
|
22
|
+
tags: string[];
|
|
23
|
+
settings: Partial<CloudDeckSurfaceConfig>;
|
|
24
|
+
}
|
|
25
|
+
export interface CirrusPreset {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
tags: string[];
|
|
29
|
+
settings: Partial<CirrusLayerConfig>;
|
|
30
|
+
}
|
|
31
|
+
export declare const volumetricCloudPresets: VolumetricCloudPreset[];
|
|
32
|
+
export declare const cirrusPresets: CirrusPreset[];
|
|
33
|
+
/** The five presets for one deck type, in the order they should appear. */
|
|
34
|
+
export declare function getCloudPresetsForType(deckType: CloudDeckType): VolumetricCloudPreset[];
|
|
35
|
+
export declare function getCloudPresetByName(name: string): VolumetricCloudPreset | undefined;
|
|
36
|
+
export declare function getCirrusPresetByName(name: string): CirrusPreset | undefined;
|
|
37
|
+
export declare function searchCloudPresetsByTags(tags: string[]): VolumetricCloudPreset[];
|
|
38
|
+
//# sourceMappingURL=volumetricCloudPresets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"volumetricCloudPresets.d.ts","sourceRoot":"","sources":["../../src/presets/volumetricCloudPresets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EAChB,MAAM,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,aAAa,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,YAAY;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACxC;AAiYD,eAAO,MAAM,sBAAsB,EAAE,qBAAqB,EAIzD,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,YAAY,EA6EvC,CAAC;AAMF,2EAA2E;AAC3E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,GAAG,qBAAqB,EAAE,CAEvF;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS,CAEpF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAE5E;AAED,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,qBAAqB,EAAE,CAKhF"}
|