{"action":"created","issue":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/9841","repository_url":"https://api.github.com/repos/mrdoob/three.js","labels_url":"https://api.github.com/repos/mrdoob/three.js/issues/9841/labels{/name}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/9841/comments","events_url":"https://api.github.com/repos/mrdoob/three.js/issues/9841/events","html_url":"https://github.com/mrdoob/three.js/pull/9841","id":182282945,"number":9841,"title":"New TubeBufferGeometry","user":{"login":"Mugen87","id":12612165,"avatar_url":"https://avatars.githubusercontent.com/u/12612165?v=3","gravatar_id":"","url":"https://api.github.com/users/Mugen87","html_url":"https://github.com/Mugen87","followers_url":"https://api.github.com/users/Mugen87/followers","following_url":"https://api.github.com/users/Mugen87/following{/other_user}","gists_url":"https://api.github.com/users/Mugen87/gists{/gist_id}","starred_url":"https://api.github.com/users/Mugen87/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Mugen87/subscriptions","organizations_url":"https://api.github.com/users/Mugen87/orgs","repos_url":"https://api.github.com/users/Mugen87/repos","events_url":"https://api.github.com/users/Mugen87/events{/privacy}","received_events_url":"https://api.github.com/users/Mugen87/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-10-11T14:43:02Z","updated_at":"2016-10-11T16:28:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/mrdoob/three.js/pulls/9841","html_url":"https://github.com/mrdoob/three.js/pull/9841","diff_url":"https://github.com/mrdoob/three.js/pull/9841.diff","patch_url":"https://github.com/mrdoob/three.js/pull/9841.patch"},"body":"This PR introduces `TubeBufferGeometry`.\r\n\r\n**[Demo](https://jsfiddle.net/b47z0xky/2/)**\r\n\r\nFeatures:\r\n\r\n- More precise normals. Especially the last line of normals in non-closed geometry is now correct.\r\n- The implementation does not need anymore a grid data structure in order to generate the geometry.\r\n- Renamed `segments` to `tubularSegments` so `TorusBufferGeometry`, `TorusKnotBufferGeometry` and `TubeBufferGeometry` have aligned parameters.\r\n- `webgl_geometry_extrude_splines` now uses `TubeBufferGeometry`. Besides i've switched to `OrbitControls` which simplifies the entire code.\r\n\r\nThere is also one removal. I've dropped the support of the `taper` parameter for several reasons:\r\n\r\n- It's problematic to generate normals **and** support the `taper` parameter in context of `BufferGeometry`. Normals must be computed via `.computeVertexNormals()` and then manually averaged at the seam of the geometry. That's...messy :unamused:\r\n- The effect of `taper` looks for me like some kind of gimmick. In order to keep the geometry entities as uniform and straightforward as possible, we should only support really fundamental features.\r\n- Besides, `taper` was never documented."},"comment":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/252969573","html_url":"https://github.com/mrdoob/three.js/pull/9841#issuecomment-252969573","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/9841","id":252969573,"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":"2016-10-11T16:28:03Z","updated_at":"2016-10-11T16:28:03Z","body":"> I've dropped the support of the taper parameter\r\n\r\nI am inclined to agree. But for reference, see where it was added in https://github.com/mrdoob/three.js/pull/5679.\r\n"}}
{"actor":{"display_login":"WestLangley"}}