Beispiel #1
0
        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);
        }