{"action":"created","issue":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/7130","labels_url":"https://api.github.com/repos/mrdoob/three.js/issues/7130/labels{/name}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/7130/comments","events_url":"https://api.github.com/repos/mrdoob/three.js/issues/7130/events","html_url":"https://github.com/mrdoob/three.js/issues/7130","id":105277500,"number":7130,"title":"FlatShading on MeshLambertMaterial","user":{"login":"Astrak","id":10037511,"avatar_url":"https://avatars.githubusercontent.com/u/10037511?v=3","gravatar_id":"","url":"https://api.github.com/users/Astrak","html_url":"https://github.com/Astrak","followers_url":"https://api.github.com/users/Astrak/followers","following_url":"https://api.github.com/users/Astrak/following{/other_user}","gists_url":"https://api.github.com/users/Astrak/gists{/gist_id}","starred_url":"https://api.github.com/users/Astrak/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Astrak/subscriptions","organizations_url":"https://api.github.com/users/Astrak/orgs","repos_url":"https://api.github.com/users/Astrak/repos","events_url":"https://api.github.com/users/Astrak/events{/privacy}","received_events_url":"https://api.github.com/users/Astrak/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mrdoob/three.js/labels/Enhancement","name":"Enhancement","color":"deffdb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2015-09-07T23:46:50Z","updated_at":"2015-09-17T07:44:38Z","closed_at":null,"body":"The `shading` property has been removed from `MeshLambertMaterial`, it is only rendered the `SmoothShading` way. \r\n\r\nIs it the desired effect ? Phong looks heavier to get this result. "},"comment":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/140994207","html_url":"https://github.com/mrdoob/three.js/issues/7130#issuecomment-140994207","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/7130","id":140994207,"user":{"login":"jee7","id":3455815,"avatar_url":"https://avatars.githubusercontent.com/u/3455815?v=3","gravatar_id":"","url":"https://api.github.com/users/jee7","html_url":"https://github.com/jee7","followers_url":"https://api.github.com/users/jee7/followers","following_url":"https://api.github.com/users/jee7/following{/other_user}","gists_url":"https://api.github.com/users/jee7/gists{/gist_id}","starred_url":"https://api.github.com/users/jee7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jee7/subscriptions","organizations_url":"https://api.github.com/users/jee7/orgs","repos_url":"https://api.github.com/users/jee7/repos","events_url":"https://api.github.com/users/jee7/events{/privacy}","received_events_url":"https://api.github.com/users/jee7/received_events","type":"User","site_admin":false},"created_at":"2015-09-17T07:44:38Z","updated_at":"2015-09-17T07:44:38Z","body":"But that is still wrong. It will still apply the Lambertian (diffuse) lighting model, right?\r\nI mean, you could apply Lambertian or Phong (or Blinn-Phong, or etc) with Gouraud shading. Or is the approach to specify the shading (and thus the complexity) in the Material's name and configure the actual lighting model as a parameter?\r\nSo it would be something like:\r\n* `MeshFlatMaterial` - face normals, color calculated per-face\r\n* `MeshGouraudMaterial` - vertex normals, color calculated per-vertex and interpolated\r\n* `MeshPhongMaterial` - vertex normals interpolated, color calculated per-fragment\r\n\r\nAnd then there will be a parameter to specify a `lightingModel`, which could be:\r\n* `basic` - single color\r\n* `lambertian` - ambient + diffuse\r\n* `phong` - ambient + diffuse + specular\r\n\r\nSo for example one could call:\r\n```\r\nvar material1 = new MeshGouraudMaterial({ lightingModel: THREE.Material.PhongModel });\r\nvar material2 = new MeshFlatMaterial({ lightingModel: THREE.Material.LambertModel });\r\n```"}}