29 lines
754 B
TypeScript
29 lines
754 B
TypeScript
export function getTerrainHeight(
|
|
localX: number,
|
|
localZ: number,
|
|
worldXBase: number,
|
|
worldZBase: number,
|
|
scale: number,
|
|
hillScale: number,
|
|
hillHeight: number,
|
|
detailScale: number,
|
|
detailHeight: number,
|
|
noise2D: (x: number, y: number) => number
|
|
) {
|
|
const worldX = (worldXBase + localX) * 0.1;
|
|
const worldZ = (worldZBase + localZ) * 0.1;
|
|
|
|
const noiseHill =
|
|
noise2D(worldX * hillScale, worldZ * hillScale) * hillHeight;
|
|
const noiseDetail =
|
|
noise2D(worldX * detailScale, worldZ * detailScale) * detailHeight;
|
|
|
|
return (noiseHill + noiseDetail) * scale;
|
|
}
|
|
|
|
export interface Shader {
|
|
uniforms: { [key: string]: { value: unknown } };
|
|
vertexShader: string;
|
|
fragmentShader: string;
|
|
}
|