{"action":"created","issue":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/7094","labels_url":"https://api.github.com/repos/mrdoob/three.js/issues/7094/labels{/name}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/7094/comments","events_url":"https://api.github.com/repos/mrdoob/three.js/issues/7094/events","html_url":"https://github.com/mrdoob/three.js/issues/7094","id":104616668,"number":7094,"title":"Removal of Tangents code?","user":{"login":"mrdoob","id":97088,"avatar_url":"https://avatars.githubusercontent.com/u/97088?v=3","gravatar_id":"","url":"https://api.github.com/users/mrdoob","html_url":"https://github.com/mrdoob","followers_url":"https://api.github.com/users/mrdoob/followers","following_url":"https://api.github.com/users/mrdoob/following{/other_user}","gists_url":"https://api.github.com/users/mrdoob/gists{/gist_id}","starred_url":"https://api.github.com/users/mrdoob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrdoob/subscriptions","organizations_url":"https://api.github.com/users/mrdoob/orgs","repos_url":"https://api.github.com/users/mrdoob/repos","events_url":"https://api.github.com/users/mrdoob/events{/privacy}","received_events_url":"https://api.github.com/users/mrdoob/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/mrdoob/three.js/labels/Enhancement","name":"Enhancement","color":"deffdb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-09-03T03:53:23Z","updated_at":"2015-09-03T20:54:16Z","closed_at":"2015-09-03T20:28:34Z","body":"Now that bump/normalmaps are using derivatives I wonder if we need the tangents code (`Geometry.computeTangents` and `BufferGeometry.computeTangents`) any longer.\r\n\r\nThese are the only examples that rely on it:\r\n\r\n**webgl_materials_normaldisplacementmap**\r\nUses NormalDisplacementShader.js, which I don't know if we should still maintain\r\n\r\n**webgl_materials_bumpmap_skin**\r\nI think it's not needed on this one, but it's currently broken\r\n\r\n**webgl_terrain_dynamic**\r\neasy to port to derivatives I think\r\n\r\nDoes anyone rely on this code? And if so, what's the use case?"},"comment":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/137571378","html_url":"https://github.com/mrdoob/three.js/issues/7094#issuecomment-137571378","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/7094","id":137571378,"user":{"login":"WestLangley","id":1000017,"avatar_url":"https://avatars.githubusercontent.com/u/1000017?v=3","gravatar_id":"","url":"https://api.github.com/users/WestLangley","html_url":"https://github.com/WestLangley","followers_url":"https://api.github.com/users/WestLangley/followers","following_url":"https://api.github.com/users/WestLangley/following{/other_user}","gists_url":"https://api.github.com/users/WestLangley/gists{/gist_id}","starred_url":"https://api.github.com/users/WestLangley/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WestLangley/subscriptions","organizations_url":"https://api.github.com/users/WestLangley/orgs","repos_url":"https://api.github.com/users/WestLangley/repos","events_url":"https://api.github.com/users/WestLangley/events{/privacy}","received_events_url":"https://api.github.com/users/WestLangley/received_events","type":"User","site_admin":false},"created_at":"2015-09-03T20:54:16Z","updated_at":"2015-09-03T20:54:16Z","body":"Yikes!\r\n\r\nI agree that tangent computation should be at the application/modeling level. Moving `computeTangents()` to the examples was the right thing to do.\r\n\r\nIt was also OK to remove from the library and examples the shaders that rely on attribute tangents.\r\n\r\nBut you also removed _all_ tangent support from the library. I would not do that.\r\n\r\nI would continue to support users who have attribute tangents in their geometry.\r\n\r\n\r\n\r\n"}}