Why is there is no diffuse and normal MAP in ThreeJS

I am am a newbie to Webgl, but i noticed when it comes to textures/maps…ThreeJs doesnt have diffuse, normal or specular map, i only see Map, environment map, AO map, emissive map, light map and alpha map

It has normalMap on some materials and diffuse === map === albedo

1 Like

See THREE.MeshStandardMaterial for example — three.js has all of the above. material.map is what you’re thinking of with diffuse, and material.normalMap is the normal map. The standard shader does not have specular, because it uses a metal/roughness PBR workflow, but MeshPhongMaterial does.

1 Like

Just to be clear none of the terminology used in this thread has anything to do with WebGL, this is 3d specific.

1 Like

Please what do you mean by this statement, as i thought types of maps where a WebGL thing

A “map” is a common concept across many graphics APIs and libraries including three.js, and not just libraries that use WebGL — you’ll find the term in Unity and Unreal docs too. I think that’s the only thing @pailhead meant to clarify.

Not exactly, i wanted to clarify that webGL is a lower level concept than albedo map, Just map can be a webGL level concept. “albedo” or “diffuse” is completely a matter of preference, it is a three.js v unity v something else, but not v webgl :slight_smile:


You can explore three.js as framework/engine, webgl is a lower level system, it does not know if you do 3d or 2d, or if you use albedo or diffuse at all, could be something else.