diff --git a/index.html b/index.html
index 6019afc..dd7106c 100644
--- a/index.html
+++ b/index.html
@@ -12,8 +12,9 @@
diff --git a/main.js b/main.js
index d1f1af9..88df7a0 100644
--- a/main.js
+++ b/main.js
@@ -10,6 +10,8 @@ import Stats from 'three/addons/libs/stats.module.js';
import MazeMesh from './MazeMesh.js';
+import 'three-hex-tiling';
+
const playerHeight = 0.5;
const mazeWidth = 23
@@ -86,6 +88,7 @@ scene.background = new THREE.CubeTextureLoader(loadMngr)
'lf.jpg',
] );
scene.backgroundBlurriness = 0.03;
+scene.backgroundIntensity = 1.4;
scene.environment = scene.background;
window.scene = scene;
@@ -103,7 +106,7 @@ const wallMaterial = new THREE.MeshStandardMaterial({
normalMap : loader.load('textures/Poly-cobblestone-wall/normal_map_opengl.jpg'),
aoMap : loader.load('textures/Poly-cobblestone-wall/ao_map.jpg'),
roughnessMap : loader.load('textures/Poly-cobblestone-wall/roughness_map.jpg'),
- roughness : 1,
+ roughness : 1
})
const maze = new MazeMesh(mazeWidth, mazeWidth, 1, wallMaterial);
@@ -138,37 +141,43 @@ const groundMaterial = new THREE.MeshStandardMaterial({
'textures/angled-blocks-vegetation/albedo.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
- texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
+ texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
}
),
aoMap: loader.load(
'textures/angled-blocks-vegetation/ao.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
- texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
+ texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
}
),
metalnessMap: loader.load(
'textures/angled-blocks-vegetation/metallic.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
- texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
+ texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
}
),
normalMap: loader.load(
'textures/angled-blocks-vegetation/normal-dx.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
- texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
+ texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
}
),
roughnessMap: loader.load(
'textures/angled-blocks-vegetation/roughness.png',
texture => {
texture.wrapS = texture.wrapT = THREE.RepeatWrapping
- texture.repeat.set(mazeWidth / 4, mazeWidth / 4)
+ texture.repeat.set(mazeWidth / 2, mazeWidth / 2)
}
),
+ hexTiling: {
+ patchScale: 1,
+ useContrastCorrectedBlending: true,
+ lookupSkipThreshold: 0.01,
+ textureSampleCoefficientExponent: 32,
+ }
})
const sideGroundMaterial = new THREE.MeshStandardMaterial({
@@ -385,6 +394,7 @@ if (dev) {
raftRotationFolder.add(raft.rotation, "x")
raftRotationFolder.add(raft.rotation, "y")
raftRotationFolder.add(raft.rotation, "z")
+ raftFolder.close();
const skyFolder = gui.addFolder('Sky');
skyFolder.add(parameters, 'elevation', 0, 90, 0.1).onChange(updateSun);
@@ -488,6 +498,14 @@ if (dev) {
});
waveCFolder.open();
+ const HexTilingFolder = gui.addFolder('Hex Tiling')
+ const groundMaterialFolder = HexTilingFolder.addFolder("ground")
+ groundMaterialFolder.add(groundMaterial.hexTiling, "patchScale", 0, 10)
+ groundMaterialFolder.add(groundMaterial.hexTiling, "useContrastCorrectedBlending")
+ groundMaterialFolder.add(groundMaterial.hexTiling, "lookupSkipThreshold", 0, 1)
+ groundMaterialFolder.add(groundMaterial.hexTiling, "textureSampleCoefficientExponent", 0, 64).name("SampleCoefExp")
+ HexTilingFolder.close()
+
}
//