private void MakeClothMesh(THREE.Texture t) { THREE.Texture clothTexture = t; clothTexture.wrapS = THREE.WrapType.MirroredRepeatWrapping; clothTexture.wrapT = THREE.WrapType.RepeatWrapping; clothTexture.repeat.y = -1; clothTexture.anisotropy = 16; THREE.MeshPhongMaterial clothMaterial = new THREE.MeshPhongMaterial(); clothMaterial.specular = new THREE.Color().setHex(0x030303); //clothMaterial.color = new THREE.Color(1, 0.4, 0); clothMaterial.map = clothTexture; clothMaterial.side = THREE.SideType.DoubleSide; clothMaterial.alphaTest = 0.5; clothMaterial.wireframe = false; clothMaterial.wireframeLinewidth = 2; // cloth mesh THREE.Mesh clothMesh = new THREE.Mesh(cloth.Geometry, clothMaterial); clothMesh.position.set(0, 0, 0); clothMesh.castShadow = true; THREE.ShaderMaterial shaderMat = null;; THREE.ShaderMaterialOptions o = new THREE.ShaderMaterialOptions() { texture = new THREE.Uniform() { type = "t", value = clothTexture } }; shaderMat = new THREE.ShaderMaterial(); shaderMat.side = THREE.SideType.DoubleSide; string vertexShader = Shaders.vertex; string fragmentShader = Shaders.fragment; shaderMat.vertexShader = vertexShader; shaderMat.fragmentShader = fragmentShader; clothMesh.customDepthMaterial = shaderMat; scene.add(clothMesh); }
private void MakeCarpetMesh(THREE.Texture t) { THREE.Texture clothTexture = t; clothTexture.wrapS = THREE.WrapType.MirroredRepeatWrapping; clothTexture.wrapT = THREE.WrapType.RepeatWrapping; clothTexture.repeat.y = -1; clothTexture.anisotropy = 16; THREE.MeshPhongMaterial clothMaterial = new THREE.MeshPhongMaterial(); clothMaterial.specular = new THREE.Color().setHex(0x030303); //clothMaterial.color = new THREE.Color(1, 0.4, 0); clothMaterial.map = clothTexture; clothMaterial.side = THREE.SideType.DoubleSide; clothMaterial.alphaTest = 0.5; // cloth mesh THREE.Mesh clothMesh = new THREE.Mesh(carpet.Geometry, clothMaterial); clothMesh.position.set(0, 0, 0); clothMesh.castShadow = true; THREE.ShaderMaterial shaderMat = null; ; THREE.ShaderMaterialOptions o = new THREE.ShaderMaterialOptions() { texture = new THREE.Uniform() { type = "t", value = clothTexture } }; shaderMat = new THREE.ShaderMaterial(); shaderMat.side = THREE.SideType.DoubleSide; //string vertexShader = Shaders.vertex; //string fragmentShader = Shaders.fragment; //shaderMat.vertexShader = vertexShader; //shaderMat.fragmentShader = fragmentShader; clothMesh.customDepthMaterial = shaderMat; scene.add(clothMesh); }