Real-time 3D depth map creation
I'm trying to make a depth map in Isadora "3D space" (objects created with Isadora 3D actors, .3ds files, 3D Player "surfaces", etc.) in real-time. Is there any way to do that?
Many thanks in advance!
There are a number of actors that allow you to 'draw' in 3D space.
The 3D line actor and the particles actor are the first 2 that come to mind.
If you mean a depth map extruded from an image? Or a way to composite 3D elements? neither appear to be possible in Isadora.
The '3D Mosaic' actor reduces an input image or video to 'tiles' and has four tracking points that can deform the image plane in real time. The actor has massive overheads and frame rates drop quickly. Beware of trying to specify the columns (cols) and rows with numbers over 500 - your computer might not handle the load (my Isadora patch became unresponsive when entering numbers over 1000 in the cols and rows parameters).
The 3D compositing options in Isadora are limited. This actor was dropping cycles and frames like crazy on my Macbook Pro 2015. Isadora 2.2x, OSX 10.12.4
Thank you for your replies!
Here’s an example I tried to solve my problem (making a realtime depth map in Isadora 3D space):
Image 1.jpeg, a 3D object with lighting on
Image 2.jpeg, the same 3D object with a different tilt
Image 3.jpeg, these both 3D objects combined
Image 4.jpeg, both 3D objects combined, lighting off
Image 5.jpeg, with 3D Particles actor constructed a series of vertical rectangles traversing in z-direction, each rectangle black with 4% intensity. This creates a kind of solid cube with “black fog” in front of the 3D objects, and when depth test is enabled, it creates a “depth map” of the objects in 3D space.
However, this is consuming a lot of qpu power and is not “stable” – if changes are made, for instance, to the tilting of the 3D objects, the transparent black rectangles are not delivered evenly => the “depth map” looks uneven and banded. See the following image 6.jpeg
You can see lots of "banding" also in the darker areas, if you look carefully.
So, I was wondering if there would be a better way (and less gpu consuming) to do this? Any ideas?