August 5, 2013, 05:20 (GMT) |
SnapSystem: begun implementing better state and event handling for the snap system |
August 5, 2013, 04:25 (GMT) |
runs without crashing, the shaders compile, but nothing draws... |
August 5, 2013, 01:17 (GMT) |
Use multicamera intrinsics to calculate reprojection error The reprojection error calculation would only take a single CameraIntrinsics and would apply it to all markers. Adjust it to take a vector of CameraIntrinsics and apply the intrinsics corresponding to the marker's associated camera. |
August 5, 2013, 00:37 (GMT) |
Add correct handling of multicamera intrinsics One argument to libmv_solve is an array of camera intrinsics options. The code now converts all elements of the array to internal CameraIntrinsics, instead of just the first. The output struct, libmv_Reconstruction, now contains a vector of output camera intrinsics (each element corresponding to a different camera). |
August 4, 2013, 23:17 (GMT) |
Change from multiview to multicamera terminology All 3D reconstruction is multiview reconstruction. A better, unambigious term for reconstructing multiple cameras is multicamera reconstruction, so change all references to "views" to "cameras". Unfortunately, this introduces some confusion in simple_pipeline/reconstruction.h, but I'm currently discussing this with Keir. |
August 4, 2013, 22:37 (GMT) |
compiles again |
August 4, 2013, 14:04 (GMT) |
Modify polyline drawing to make the last line segment dotted. This signifies that it won't be used for the final stroke. Also reset line width value, this made the lines in the UI thicker when using line strokes. |
August 4, 2013, 14:04 (GMT) |
Merge trunk -r58900 into soc-2013-paint |
August 4, 2013, 10:04 (GMT) |
Committing since GPU module compiles again. I've made too many changes without being able to compile and test. Concentrating now on bringing things back into a testable state. |
August 3, 2013, 20:19 (GMT) |
Code cleanup: made function name consistemt |
August 3, 2013, 19:54 (GMT) |
Remove downsample operation It didn't work too much nice, and finishing it is not so high priority for now. Files would be in svn history anyway, so if someone would like to look into the code, he's welcome to do this. |
August 3, 2013, 19:53 (GMT) |
Remove plane track mask warping operation After some thoughts, it's not needed actually. As soon as mask is parented to a plane, Mask input node would give you warped mask already. |
August 3, 2013, 19:53 (GMT) |
Made corner sliding more convenient Now it's possible to slide corner roughly, then press Shift to switch to accurate positioning. Before this change corner used to jump when one presses shift, which wasn't too much convenient. |
August 3, 2013, 19:53 (GMT) |
Fix wrong usage of mul_v3_m3v3. You couldn't use the same vector as input and output. |
August 3, 2013, 19:53 (GMT) |
Use a proper depending are of interest for image warping Instead of requesting the whole frame to be evaluated before plane warping could be invoked, warp tile into original image space and use it's bounding box as area of interest. There're some tricks with margins going on still, but without them some tiles are missing. Quick tests seems to be working fine, we could solve possible remaining issue later. |
August 3, 2013, 19:53 (GMT) |
Replace crappy custom sampler with EWA one Our sampler could be useful for more general usage, like simpler downsampling in scale node, but it needs to be improved before it's really useful. It was giving lots of jittering artifacts which isn't good for motion tracking. So now image wrap operation used EWA filtering. For now, it uses copy-pasted dx/dy calculation which came from MapUV operation. Ideally we need to get rid of duplicated code, but it's not so trivial for now because of UV coordinates are calculating in different ways. Not a big deal to have duplicated code for a while. |
August 3, 2013, 19:53 (GMT) |
Initial code layout for plane track deform node Idea of this is: - User selects which plane track to use (for this he need to select movie clip datablock, object and track names). - Node gets an image and mask inputs (both are optional). - Node outputs: * Input image warped into the plane. * Input mask warped by the plane. * Plane, rasterized to a mask. Warping image is done by computing reverse bilinear coordinates, and getting pixel from corresponding position. This requires some tricks with downsampling to make warped image looks smooth. Currently compositor doesn't support downsampling, so we needed to implement our own operation for this. Currently idea is dead simple: value of output pixel equals to an average of neighborhood of corresponding pixel in input image. Size of neighborhood is defined by ratio between input and output resolutions. This operation doesn't give perfect results and works only for downsampling. But it's totally internal operation not exposed to the interface, so it's easy to replace it with smarter bi-directional sampler with nicer filtering. Limitations: - Node currently only warps image and outputs mask created out of plane, warping input mask is not implemented yet. - Image warping doesn't report proper depending area of interest yet, meaning interactivity might be not so much great, - There's no anti-aliasing applied on the edges of warped image and plane mask, so they look really sharp at this moment. |
August 3, 2013, 19:46 (GMT) |
August 3, 2013, 10:30 (GMT) |
Rename CameraForViewImage to CameraForImage It is uncommon to refer to an image without a particular view, so shorten the function name for simplicity. If a function is needed that references all views at once, suffixing with AllViews will do. |
August 2, 2013, 09:40 (GMT) |
Modify Tracks to multiview only The Tracks class stores Markers that correspond to tracks across different views and images. There's no need to have an interface for both singleview and multiview reconstruction, so remove the single view interface. For now, all algorithms assume view 0, but should instead be passed the view that they should work on. |
|
|
|


Master Commits
MiikaHweb | 2003-2021