{"action":"created","issue":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/7816","labels_url":"https://api.github.com/repos/mrdoob/three.js/issues/7816/labels{/name}","comments_url":"https://api.github.com/repos/mrdoob/three.js/issues/7816/comments","events_url":"https://api.github.com/repos/mrdoob/three.js/issues/7816/events","html_url":"https://github.com/mrdoob/three.js/pull/7816","id":122947613,"number":7816,"title":"basic stencil buffer interface","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":"closed","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-12-18T13:21:28Z","updated_at":"2015-12-26T04:18:03Z","closed_at":"2015-12-20T02:34:37Z","pull_request":{"url":"https://api.github.com/repos/mrdoob/three.js/pulls/7816","html_url":"https://github.com/mrdoob/three.js/pull/7816","diff_url":"https://github.com/mrdoob/three.js/pull/7816.diff","patch_url":"https://github.com/mrdoob/three.js/pull/7816.patch"},"body":"Hi,\r\n\r\nthe PR for #7785. It provides a simple and basic API for stencil buffer handling, so users don't need to access the plain `WebGLRenderingContext`. As mentioned before, we have four new methods and the corresponding constants analogous to the depth buffer implementation:\r\n\r\n`setStencilFunc` , `setStencilOp`, `setStencilTest` and `setStencilWrite`\r\n\r\nBesides, the library throws error messages now, if the user tries to set an invalid stencil function, stencil operation or depth function. Hope, this more robust behavior is okay for you.\r\n\r\n@mrdoob: The custom constants are still in the code. Please have a look at my answer right [here](https://github.com/mrdoob/three.js/issues/7758#issuecomment-165398976).  "},"comment":{"url":"https://api.github.com/repos/mrdoob/three.js/issues/comments/167276137","html_url":"https://github.com/mrdoob/three.js/pull/7816#issuecomment-167276137","issue_url":"https://api.github.com/repos/mrdoob/three.js/issues/7816","id":167276137,"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-12-26T04:18:02Z","updated_at":"2015-12-26T04:18:02Z","body":"@Mugen87 Hmmm. I think this may break `MaskPass` and `EffectComposer` which make direct GL calls. Can you please have a look?\r\n"}}