Commits

Show all
Author Commit Message Labels Comments Date
Cliff Biffle avatarCliff Biffle
Switched from KFKinect to KVKinectHardware and KVO-based frame distribution.
Cliff Biffle avatarCliff Biffle
Fixed an oversight in the new KVKinectHardware impl: it wasn't setting its own running flag, so it'd always exit after a couple frames.
Cliff Biffle avatarCliff Biffle
Changed the light falloff so the room doesn't look so dark.
Cliff Biffle avatarCliff Biffle
Added a new Kinect abstraction that uses KVO to distribute new frames. Not sure if this is a great idea yet, but giving it a shot!
Cliff Biffle avatarCliff Biffle
Switched the point-cloud renderer to use vertex arrays. Interestingly, on Mac OS X 10.6.3, I see no significant in the profiles, and performance is unchanged.
Cliff Biffle avatarCliff Biffle
Improved documentation in KVRaySpaceFieldModel's solid triangle renderer.
Cliff Biffle avatarCliff Biffle
Removed a stray tweaking constant from KVDepthView.
Cliff Biffle avatarCliff Biffle
The RayFieldSpaceModel can now do normal calculations, so we have lighting again. The factoring improvements have let me move normal calculation to the Kinect thread, so that both threads stay within their 33ms deadlines.
Cliff Biffle avatarCliff Biffle
Fixed copyright headers on KVRayFieldSpaceModel.[hm].
Cliff Biffle avatarCliff Biffle
Completely refactored the model/renderer relationship in preparation for voxel rendering and SLAM stuff. There are no longer DepthMaps or Renderers, because the rendering method needs intimate awareness of the depth model. Instead, a new KVSpaceModel type combines both.
Cliff Biffle avatarCliff Biffle
Anaglyph rendering now assumes that the eyes converge about 10m ahead of the viewer. This seems to make things a bit more comfortable.
Cliff Biffle avatarCliff Biffle
Pinch-zoom gestures now dolly the camera in and out of the scene.
Cliff Biffle avatarCliff Biffle
At the cost of some memory, made the triangle strip renderer roughly twice as fast, improved accuracy of normal calculations, and fixed a bug in texture application that reduced Y accuracy by 50%. So now it's faster and much better.
Cliff Biffle avatarCliff Biffle
Vector math functions now pass/return structs by value, not by address. This simplifies the code, and since they're inlined anyway it seems to have no performance impact.
Cliff Biffle avatarCliff Biffle
Removed an errant log call I accidentally included last night.
Cliff Biffle avatarCliff Biffle
Cleaned up KinectViewerAppDelegate a bit.
Cliff Biffle avatarCliff Biffle
At some cost in CPU, the KVMultiDepthMap now tracks colors for occluded surfaces, so texture mapping works again.
Cliff Biffle avatarCliff Biffle
KVMultiDepthMap can separate foreground from background, using a slightly cleverer algorithm than I used before. Originally I had hoped to scale this beyond two occlusion planes, and it almost works at 8 planes...but (1) rendering is bad because the renderer sees only one plane at a time, even if they intersect, and (2) it's slow.
Cliff Biffle avatarCliff Biffle
Separated the ray projection transform into X and Y components. This saves 297KiB of hot memory in the depth map, which should now fit quite comfortably in cache.
Cliff Biffle avatarCliff Biffle
Can now overlay a wireframe (CmdF).
Cliff Biffle avatarCliff Biffle
Added double-buffering for both depth and color data. It turns out that depth and color are mutually asynchronous and arrive at slightly different frequencies, which complicates this code a bit (must manage two separate buffer states).
Cliff Biffle avatarCliff Biffle
Renamed KVSinglePlaneDepthMap -> KVDoubleBufferDepthMap. Note that this is currently a lie: I wanted to commit the rename before I rearrange its innards.
Cliff Biffle avatarCliff Biffle
KVDepthView now uses bindings to sync renderer properties, rather than manually copying values back and forth.
Cliff Biffle avatarCliff Biffle
Renamed KVRenderer's "useLighting" property to just "lit" to be more consistent with other properties -- and shorter.
Cliff Biffle avatarCliff Biffle
Enabled garbage collection. Thought I had done this earlier....
Cliff Biffle avatarCliff Biffle
Rearranged KVDepthView's implementation, now that the "private category" no longer constraints method ordering.
Cliff Biffle avatarCliff Biffle
KVDepthView now uses a class continuation for its internals, instead of an old-school private category.
Cliff Biffle avatarCliff Biffle
Renderers now compute false colors only when lighting is disabled. This improves lit surface quality and reduces CPU usage.
Cliff Biffle avatarCliff Biffle
Not that it's currently reached, but the app delegate now quits when replay is finished.
Cliff Biffle avatarCliff Biffle
Added /usr/local/include/** to the header search paths to support libfreenect's custom patched libusb implementation. While I was in there, fiddled with the optimization settings for Release builds.
  1. Prev
  2. Next
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.