first commit

This commit is contained in:
2026-10-06 12:16:46 +09:00
commit 619d980098
415 changed files with 22283 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
import * as THREE from 'three';
import vertexShader from '../shaders/petDepth.vert?raw';
import fragmentShader from '../shaders/petDepth.frag?raw';
export class PetDepthMesh extends THREE.Mesh<THREE.BufferGeometry, THREE.ShaderMaterial> {
constructor(texture: THREE.Texture, depthMap: THREE.Texture, depthScale = 0.25, depthBias = 0) {
const geometry = new THREE.PlaneGeometry(1, 1, 128, 128);
const uniforms = {
uTexture: { value: texture },
uDepthMap: { value: depthMap },
uDepthScale: { value: THREE.MathUtils.clamp(depthScale, 0, 0.4) },
uDepthBias: { value: depthBias },
uIsVideo: { value: false },
};
const material = new THREE.ShaderMaterial({ uniforms, vertexShader, fragmentShader });
super(geometry, material);
}
setTexture(texture: THREE.Texture): void { this.material.uniforms.uTexture.value = texture; }
setDepthMap(depthMap: THREE.Texture): void { this.material.uniforms.uDepthMap.value = depthMap; }
setDepthScale(scale: number): void { this.material.uniforms.uDepthScale.value = THREE.MathUtils.clamp(scale, 0, 0.4); }
setVideo(isVideo: boolean): void { this.material.uniforms.uIsVideo.value = isVideo; }
get depthMap(): THREE.Texture { return this.material.uniforms.uDepthMap.value; }
}