Fill up those black spots in the depth image of the Kinect.
Useful for filtering before using the Kinect depth as a displacement texture.
This is still a bit rough around the edges, and I'll most likely update it in time, but it might be useful to people as it is already. :)
This looks great!
But it's crashing my (Nvidia) display driver....
@mrboni ah that's a pity... I have an AMD card, so I can't really test.
I'm not that experienced with shaders... It might be a bit many texture sample lookups (although 9 per pixel doesn't seem that overwhelming). And for loops and ifs don't seem that cool in shaders either. If anyone has pointers, I'd be glad to improve on the shader :)
Unfortunately crashes on my Nvidia GTX 680 too.
In my dx11.pointcloud pack there are btw implementations of depth repair and depth smoothing algorithms ( see http://www.codeproject.com/Articles/317974/KinectDepthSmoothing ).
The nodes are called DepthRepair and DepthSmooth.
Thanks Grandchild. I'll have a look and see if I can figure it out
Tmp - I've tried yours and they work fairly well. I'm not sure they can fill in all the holes as it appears this one does though right?
@tmp: yes i checked out your kinect pointcloud contribution after i put this up. amazing stuff, and it will definitely help me with a lot of things in the coming days. but yes your depth repair and smooth nodes work, but not quite in the same way. this effect here keeps old sample points around as long as needed, in order to try as hard as possible to fill the whole texture with non-zeros.
after this you would still need a smoothing filter like yours... i'll see what i can come up with. i'll probably modify your approach (i.e. nodes) to have an effect more like mine.
On this topic, do either of you think your techniques could work with the world position texture from the kinect?
suspect a framedelay... not crashing but also not working on 850m
code looks ok, neet to try the texture array framedelay instead
Sounds like a very interesting approach and I am looking forward to a working version of your contribution!
that would be truly cool. and i see two ways. one, recreate the world from depth with the help of RayTable, and two, create a mesh from the "raw" depth and fill in the holes there, with a shader, and then creating the world from that (writing that shader is certainly over my head atm).
the first method should be doable, actually i'll try it quickly...
... okay too tired. next week.
anonymous user login