diff --git a/packages/core/src/material/BlinnPhongMaterial.ts b/packages/core/src/material/BlinnPhongMaterial.ts index f859f0de49..80c423cf92 100644 --- a/packages/core/src/material/BlinnPhongMaterial.ts +++ b/packages/core/src/material/BlinnPhongMaterial.ts @@ -145,7 +145,7 @@ export class BlinnPhongMaterial extends BaseMaterial { } set shininess(value: number) { - this.shaderData.setFloat(BlinnPhongMaterial._shininessProp, value); + this.shaderData.setFloat(BlinnPhongMaterial._shininessProp, Math.max(value, 1e-4)); } /** diff --git a/packages/core/tests/material/BlinnPhongMaterial.test.ts b/packages/core/tests/material/BlinnPhongMaterial.test.ts index 01fce008d7..767f6adcd3 100644 --- a/packages/core/tests/material/BlinnPhongMaterial.test.ts +++ b/packages/core/tests/material/BlinnPhongMaterial.test.ts @@ -49,11 +49,13 @@ describe("BlinnPhongMaterial", () => { material.specularTexture = null; material.emissiveTexture = null; material.normalTexture = null; + material.shininess = 0; expect(material.baseTexture).toBeNull(); expect(material.specularTexture).toBeNull(); expect(material.emissiveTexture).toBeNull(); expect(material.normalTexture).toBeNull(); + expect(material.shininess).toBe(1e-4); }); it("clone", () => {