# normalMap scale and intensity being reset

**URL:** <https://discourse.threejs.org/t/normalmap-scale-and-intensity-being-reset/13405>\
**Category:** Questions\
**Tags:** gltf-loader, textures\
**Created:** [March 10, 2020, 1:08pm UTC](https://discourse.threejs.org/t/normalmap-scale-and-intensity-being-reset/13405 "2020-03-10T13:08:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Kaiser](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/kaiser/32/1494_2.png) [@Kaiser](https://discourse.threejs.org/u/Kaiser)\
**Post date:** [March 10, 2020, 1:08pm UTC](https://discourse.threejs.org/t/normalmap-scale-and-intensity-being-reset/13405/1 "2020-03-10T13:08:00Z")

</div>

Trying to work on a product configurator with a GLTF model, if I update model.material.map values for model.material.normalMap, model.material.roughnessMap, and model.material.metalnessMap all seem to have their scale and intensity levels from Blender changed.

Is there something linked about these values when I don’t set a new material and just update the material.map?

---

<div class="post-metadata">

**Author:** ![Mugen87](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mugen87/32/5645_2.png) [@Mugen87](https://discourse.threejs.org/u/Mugen87)\
**Post date:** [March 10, 2020, 1:36pm UTC](https://discourse.threejs.org/t/normalmap-scale-and-intensity-being-reset/13405/2 "2020-03-10T13:36:04Z")

</div>

When changing color textures (e.g. `map` or `emissiveMap`) it necessary to configure the correct encoding for the texture like so:

```auto
texture.encoding = THREE.sRGBEncoding; // sRGB color space

```

In any event, you have to configure the following to honot the texture coordinates convection of `glTF`.

```auto
texture.flipY = false;

```

Normally, `GLTFLoader` does this configuration automatically. If you change textures, you have to do this by yourself. More information in this guide (section `Textures`):

[https://threejs.org/docs/index.html#examples/en/loaders/GLTFLoader](https://threejs.org/docs/index.html#examples/en/loaders/GLTFLoader)

---

<div class="post-metadata">

**Author:** ![Kaiser](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/kaiser/32/1494_2.png) [@Kaiser](https://discourse.threejs.org/u/Kaiser)\
**Post date:** [March 10, 2020, 1:44pm UTC](https://discourse.threejs.org/t/normalmap-scale-and-intensity-being-reset/13405/3 "2020-03-10T13:44:30Z")

</div>

We aren’t using sRGB encoding the (what is it linear encoding?) matches our actual output colors closer. flipY is set to false.

Before setting material.map:

 ![Screen Shot 2020-03-10 at 8.42.21 AM](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/2X/7/729c0964e67262ae4f39e6f811c1df834314ff45.png)  
the normal is scaled as set in blender

After setting material.map:

 ![Screen Shot 2020-03-10 at 8.41.12 AM](https://canada1.discourse-cdn.com/flex035/uploads/threejs/original/2X/2/261b65841c77493fca14cc8dcb4afdb4fe597b2e.png)  
normal jumps to this 1:1 scale.

---

<div class="post-metadata">

**Author:** ![Mugen87](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.threejs.org/mugen87/32/5645_2.png) [@Mugen87](https://discourse.threejs.org/u/Mugen87)\
**Post date:** [March 10, 2020, 1:53pm UTC](https://discourse.threejs.org/t/normalmap-scale-and-intensity-being-reset/13405/4 "2020-03-10T13:53:06Z")

</div>

Can you please try to perform the following copy of texture parameters before assigning the new texture?

```js
texture.wrapS = oldTexture.wrapS;
texture.wrapT = oldTexture.wrapT;
texture.offset = oldTexture.offset;
texture.rotation = oldTexture.rotation;
texture.repeat = oldTexture.repeat;

```

> [@Kaiser](#):
>
> We aren’t using sRGB encoding

`sRGB` encoding is automatically set by the loader and the recommended color space when displaying `glTF` models. I suggest you study a bit gamma, linear and sRGB color space to better understand the importance of this topic. There are a lot of existing resources available in the internet.
