# Update the texture of ShaderMaterial on hover with effects

**URL:** <https://discourse.threejs.org/t/update-the-texture-of-shadermaterial-on-hover-with-effects/18257>\
**Category:** Questions\
**Tags:** shader-material, textures\
**Created:** [August 29, 2020, 10:15am UTC](https://discourse.threejs.org/t/update-the-texture-of-shadermaterial-on-hover-with-effects/18257 "2020-08-29T10:15:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![hrahimi270](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/hrahimi270/32/5719_2.png) [@hrahimi270](https://discourse.threejs.org/u/hrahimi270)\
**Post date:** [August 29, 2020, 10:15am UTC](https://discourse.threejs.org/t/update-the-texture-of-shadermaterial-on-hover-with-effects/18257/1 "2020-08-29T10:15:57Z")

</div>

Hi members!  
I have a `CircleGeometry` with `ShaderMaterial`. And I’m passing two colors to uniforms for creating a gradient color using a simple fragment shader code like this:

```glsl
uniform vec3 color1;
uniform vec3 color2;

varying vec2 vUv;

void main(){
    gl_FragColor=vec4(mix(color1,color2,vUv.y),1.);
}

```

**Note:** I’m setting the `vUv` value inside my vertex shader.  
And this is the result ([online demo](https://the-teal-bird.vercel.app/)):

 ![Screen Shot 2020-08-29 at 2.42.56 PM](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/2X/5/53776723fb308044f2001f4dc11d1f374e078a12.png)

Now, I want when the user hovers on these objects, shows the background image for these objects with a zoom-in effect for example. How can I achieve that?
