{"action":"created","issue":{"url":"https://api.github.com/repos/Rajawali/Rajawali/issues/1586","repository_url":"https://api.github.com/repos/Rajawali/Rajawali","labels_url":"https://api.github.com/repos/Rajawali/Rajawali/issues/1586/labels{/name}","comments_url":"https://api.github.com/repos/Rajawali/Rajawali/issues/1586/comments","events_url":"https://api.github.com/repos/Rajawali/Rajawali/issues/1586/events","html_url":"https://github.com/Rajawali/Rajawali/pull/1586","id":136288872,"number":1586,"title":"#1387 pull request ","user":{"login":"rpicolet","id":616858,"avatar_url":"https://avatars.githubusercontent.com/u/616858?v=3","gravatar_id":"","url":"https://api.github.com/users/rpicolet","html_url":"https://github.com/rpicolet","followers_url":"https://api.github.com/users/rpicolet/followers","following_url":"https://api.github.com/users/rpicolet/following{/other_user}","gists_url":"https://api.github.com/users/rpicolet/gists{/gist_id}","starred_url":"https://api.github.com/users/rpicolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpicolet/subscriptions","organizations_url":"https://api.github.com/users/rpicolet/orgs","repos_url":"https://api.github.com/users/rpicolet/repos","events_url":"https://api.github.com/users/rpicolet/events{/privacy}","received_events_url":"https://api.github.com/users/rpicolet/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Rajawali/Rajawali/labels/Enhancement","name":"Enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"jwoolston","id":2993125,"avatar_url":"https://avatars.githubusercontent.com/u/2993125?v=3","gravatar_id":"","url":"https://api.github.com/users/jwoolston","html_url":"https://github.com/jwoolston","followers_url":"https://api.github.com/users/jwoolston/followers","following_url":"https://api.github.com/users/jwoolston/following{/other_user}","gists_url":"https://api.github.com/users/jwoolston/gists{/gist_id}","starred_url":"https://api.github.com/users/jwoolston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwoolston/subscriptions","organizations_url":"https://api.github.com/users/jwoolston/orgs","repos_url":"https://api.github.com/users/jwoolston/repos","events_url":"https://api.github.com/users/jwoolston/events{/privacy}","received_events_url":"https://api.github.com/users/jwoolston/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/Rajawali/Rajawali/milestones/2","html_url":"https://github.com/Rajawali/Rajawali/milestones/v1.1,%20Bombshell","labels_url":"https://api.github.com/repos/Rajawali/Rajawali/milestones/2/labels","id":322722,"number":2,"title":"v1.1, Bombshell","description":"Boring bug-fixes, crucial cleanup, and dull documentation. Primarily focused on out of memory issues.","creator":{"login":"jayschwa","id":475017,"avatar_url":"https://avatars.githubusercontent.com/u/475017?v=3","gravatar_id":"","url":"https://api.github.com/users/jayschwa","html_url":"https://github.com/jayschwa","followers_url":"https://api.github.com/users/jayschwa/followers","following_url":"https://api.github.com/users/jayschwa/following{/other_user}","gists_url":"https://api.github.com/users/jayschwa/gists{/gist_id}","starred_url":"https://api.github.com/users/jayschwa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jayschwa/subscriptions","organizations_url":"https://api.github.com/users/jayschwa/orgs","repos_url":"https://api.github.com/users/jayschwa/repos","events_url":"https://api.github.com/users/jayschwa/events{/privacy}","received_events_url":"https://api.github.com/users/jayschwa/received_events","type":"User","site_admin":false},"open_issues":36,"closed_issues":9,"state":"open","created_at":"2013-04-29T01:51:56Z","updated_at":"2016-03-04T23:50:51Z","due_on":null,"closed_at":null},"comments":28,"created_at":"2016-02-25T05:51:18Z","updated_at":"2016-03-06T18:18:17Z","closed_at":"2016-03-04T23:17:11Z","pull_request":{"url":"https://api.github.com/repos/Rajawali/Rajawali/pulls/1586","html_url":"https://github.com/Rajawali/Rajawali/pull/1586","diff_url":"https://github.com/Rajawali/Rajawali/pull/1586.diff","patch_url":"https://github.com/Rajawali/Rajawali/pull/1586.patch"},"body":"# High-level Change Summary\r\n\r\n## RajawaliScene\r\n* Abstracted/separated object-picking render pass into `doColorPicking()`, attempting to isolate it from the bulk of `render()` control flow for primary (visible) render passes and plugins  \r\n* As picking request is based on prior frame state, called `doColorPicking()` first thing in `render()` before any frame updates\r\n* Factored out some code common to both `render()` and `doColorPicking()` into `configureTargetRendering()`\r\n* Fixed counter on preDraw callback processing, normalized naming for FrameCallbacks and counters \r\n\r\n## Object3D\r\n* Defined/applied a default `UNPICKABLE` picking color to all Object3Ds\r\n* Added `isColorPicking` parameter to `render()`, which always processes entire Object3D tree (similar to 0.9)\r\n* All visible Object3Ds get rendered during color picking, not just those registered for picking, to allow for obscuring but unpickable foreground objects\r\n\r\n## ObjectColorPicker\r\n* Changed `unregisterObject()` to reset color to UNPICKABLE\r\n* Deprecated/renamed `createColorPickingTexture()` to `pickObject()`\r\n\r\n# Concerns\r\n\r\n## Logic & Performance\r\n* Guessing that `Object3D.render()` call of `preRender()` should be skipped for color picking pass? \r\n* Not sure if normal (non-color-picking) Skybox rendering should use `sceneMaterial` (was set to null before, don't remember why I changed it)\r\n* Not sure if textures are properly bypassed/replaced during color-picking render\r\n* Not sure about performance cost for rendering all objects during color picking\r\n\r\n## Footprint, Testing, & Merging\r\n* When I started out on this, I wasn't at all sure I would be able to figure it out, and wasn't really thinking about merging and white-space/name changes/miscellaneous minor code cleanups. so there are a number of these that don't really heed to be there; if not acceptable, I'll try and back most of them out\r\n* Beyond those, placing `doColorPicking()` before any frame updates and rendering all visible objects during color picking are not really within the scope of #1387, but I think they are in the spirit of providing a reasonable color-picking function overall...\r\n* I also didn't post an issue for the preDraw counter bug...\r\n* I am not confident of the approach I used to test my changes against RajawaliExamples:\r\n  * Downloaded/expanded RajawaliExamples.zip\r\n  * When I tried to run it from AS on my Samsung S3, got the same error I reported in issue #1504, so I modified my local versions of `RajawaliSurfaceView.initialize()` and `RajawaliTextureView.initialize()` to use a hard-coded version 2:\r\n\r\n`//\tfinal int glesMajorVersion = Capabilities.getGLESMajorVersion();` \r\n`        final int glesMajorVersion = 2;`\r\n\r\n  * Added an .aar import module to the Examples AS project using the resulting rajawali-debug.aar, and replaced the dependency in examples.build.gradle \r\n\r\n* I then was able to run most of the examples on the S3, but the following examples apparently fail, and I am not sure if any of these are due to my changes or approach to testing or not (although I'm very suspicious of all the filter/effect/post-processing failures...):\r\n  * GCode Toolpaths\r\n  * Coalesce Animation\r\n  * Animated GIF Texture\r\n  * Sepia Filter\r\n  * Greyscale Filter\r\n  * Gaussian Blur Filter\r\n  * Multi Pass\r\n  * Bloom Effect \r\n\r\n* If I have missed the boat on any significant issues, please feel free to ask me anything, send it back with change requests, make any improvements you think appropriate, or deny the pull request altogether; I'll survive :-)\r\n\r\nThanks, and make sure to have a beer before you take any of this on!"},"comment":{"url":"https://api.github.com/repos/Rajawali/Rajawali/issues/comments/192954007","html_url":"https://github.com/Rajawali/Rajawali/pull/1586#issuecomment-192954007","issue_url":"https://api.github.com/repos/Rajawali/Rajawali/issues/1586","id":192954007,"user":{"login":"rpicolet","id":616858,"avatar_url":"https://avatars.githubusercontent.com/u/616858?v=3","gravatar_id":"","url":"https://api.github.com/users/rpicolet","html_url":"https://github.com/rpicolet","followers_url":"https://api.github.com/users/rpicolet/followers","following_url":"https://api.github.com/users/rpicolet/following{/other_user}","gists_url":"https://api.github.com/users/rpicolet/gists{/gist_id}","starred_url":"https://api.github.com/users/rpicolet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rpicolet/subscriptions","organizations_url":"https://api.github.com/users/rpicolet/orgs","repos_url":"https://api.github.com/users/rpicolet/repos","events_url":"https://api.github.com/users/rpicolet/events{/privacy}","received_events_url":"https://api.github.com/users/rpicolet/received_events","type":"User","site_admin":false},"created_at":"2016-03-06T18:18:17Z","updated_at":"2016-03-06T18:18:17Z","body":"No, only an `sdk.dir`. Taking the hint, I tried adding an `ndk.dir` entry that points to my NDK install (even though its a generated file), but unfortunately it made no difference...\r\n\r\nI also now see a lot of lint warnings (didn't know the underline indicated anything 'til I accidentally cursored over some of them) in `vuforia/build.gradle`; for example, `VERSION_NAME`, `buildNumber`, and `jniLibs` all indicate \"Cannot resolve symbol\", and `ndkBuild` and `commandLine` both indicate \"Cannot infer argument types\"...\r\n\r\nBTW, `examples/build.gradle` has `compile project(':vuforia')` in its dependencies, so it doesn't build without vuforia, so changing settings.gradle doesn't work...  I can build the rajawali module/library directly, just not examples, and I just wanted to be sure I have a clean test bed before starting my branches...\r\n"}}