1
votes

I am working on a project where I have multiple shaders applied to an object. The basic scene is lit with directional lights but when I add a point light or spotlight to the scene the object disappears entirely. I have other objects in the scene that do not disappear so I can only assume it has to do with the shaders applied and the point light. Here is an excerpt of the shaders I am using:

var shader = THREE.ShaderSkin[ "skin" ];

            var uniformsUV = THREE.UniformsUtils.clone( shader.uniforms );

            var textureLoader = new THREE.TextureLoader();

            uniformsUV[ "tNormal" ].value = textureLoader.load( "obj/me/all_skin_hi1_normal.jpg" );
            uniformsUV[ "uNormalScale" ].value = -1.5;

            uniformsUV[ "tDiffuse" ].value = textureLoader.load( "obj/me/all_skin_hi1.jpg" );

            uniformsUV[ "passID" ].value = 0;

            uniformsUV[ "diffuse" ].value.setHex( diffuse );
            uniformsUV[ "specular" ].value.setHex( specular );

            uniformsUV[ "uRoughness" ].value = 0.185;
            uniformsUV[ "uSpecularBrightness" ].value = 0.7;


            var uniforms = THREE.UniformsUtils.clone( uniformsUV );
            uniforms[ "tDiffuse" ].value = uniformsUV[ "tDiffuse" ].value;
            uniforms[ "tNormal" ].value = uniformsUV[ "tNormal" ].value;
            uniforms[ "passID" ].value = 1;


            var parameters = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShader, uniforms: uniforms, lights: true };
            var parametersUV = { fragmentShader: shader.fragmentShader, vertexShader: shader.vertexShaderUV, uniforms: uniformsUV, lights: true };

            var material = new THREE.ShaderMaterial( parameters );
            material.extensions.derivatives = true;

            var materialUV = new THREE.ShaderMaterial( parametersUV );
            materialUV.extensions.derivatives = true;
1
Are you getting any warnings/errors in the console? - TheJim01

1 Answers

0
votes

Try updating to a newer version of the engine. That fixed it for me.