{
  "id": 16701932,
  "title": "High Roughness, Sharp Highlights: Auditing a glTF Material in Three.js",
  "url": "https://urgent.news/2026/10/27/high-roughness-sharp-highlights-auditing-a-gltf-material-in-three-js",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-10-27T03:57:00.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/lilsnake/high-roughness-sharp-highlights-auditing-a-gltf-material-in-threejs-4i1i"
  },
  "original_language": "en",
  "account": "A BMW M4 G82 ADRO-kit car body study was imported into a Three.js environment and rendered using a preset labeled Matte. The rendered image showed sharp highlights on the hood and rear fender despite the overall reflection becoming weaker. This prompted an audit of the material preset to determine what changes it introduced and what properties were carried over from the original imported asset.\n\nThe two parameters that differed between the Gloss, Satin, and Matte presets were roughness and metalness. Roughness changed between Gloss and Satin, while Matte also changed metalness. Consequently, the comparison between these three presets did not isolate roughness as a single variable. The original values for these parameters were defined in the MeshStandardMaterial documentation, but their rationale was not established and no physical calibration was performed.\n\nThe original GLB file contained another reflective layer in the form of a clearcoat extension. This layer has its own intensity and roughness, and can make a rough base material appear smoother. When the clearcoat extension is present, the GLTFLoader maps the glTF factors to the clearcoat properties of MeshPhysicalMaterial. Changing the base roughness to 0.86, while keeping the clearcoat roughness at 0.04, can explain the remaining highlights observed in the rendered image.",
  "summary": "An imported car-body model still showed sharp highlights on its hood and rear fender after switching to a preset labeled Matte . The overall reflection became weaker, but some bright patches remained. That observation prompted a material audit: what did the preset actually change, and what properties had arrived with the imported asset? Affiliation: This case comes from WrapPrism, a project I…",
  "key_points": [
    "BMW M4 G82 ADRO-kit car body imported into Three.js environment",
    "Matte preset showed sharp highlights on hood and rear fender",
    "Clearcoat extension explained remaining highlights in rendered image"
  ],
  "editors_take": "Unintended visual artifacts in material presets reveal how overlapping clearcoat properties can mask base roughness settings and complicate the calibration of physically based rendering assets.",
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}