Best method to create a list of scrolling images (with 2 images viewable at anytime)

We are working on a projection mapping project and would like to achieve the effect of a sequence of images scrolling around the sides/planes of a 3D cube.

In Vuo we created a patch that will render a single plane of the cube off to Syphon to be used with third party mapping software (VDMX). To visualize the scrolling look, imagine each image is laid out horizontally but the viewing plane shows only enough viewing area for 1 image at a time. So when scrolling half way between two images, you may see the left half of one image and the right half of the next image next to it.

The additional challenge here is that we are trying to have the list of images be fetched in realtime from a Dropbox folder so there is no way to predict the number of available images. If a new image is uploaded, the patch will add it to the “chain” of scrolling images.

What combination of nodes would you recommend to facilitate the animation whereby images will be constantly scrolling past the display port?

@cymaspace hi ;)

What do you mean with “we created a patch” ? A composition or a custom node ? And I’m not a syphon user so I don’t really know about that part :(

Hum. Real-time push from a folder. Many tricks could be done here using third-party apps and services. There is no Vuo built-in way to monitor a folder other then by checking it every x seconds I think.

The other problem I see is that Vuo right now sorts the files lexicographically and that right now you can retrieve the first, the last, a random or a specific list index file (next update to come to include more get list nodes if I’m right). So how will your image file names be ? Will the newest image have a specific name ? Or will the name be random ?

The “List File” nodes sorts the files like explained in the node info

The files found, in case-sensitive lexicographic order — file names that start with numbers are first, followed by ones that start with uppercase letters, followed by ones that start with lowercase letters. Hidden files (those that start with “.”) are not included.

I could imagine using automator to auto rename files for example.

But you say the images will be pushed to Dropbox. Do you know the IFTTT web services link ? Perhaps the images could be sent though an RSS feed which Vuo could handle more easily ? RSS is push.

Concerning the cube part, yeah I imagine you can set the latest image on a cube face and rotate it. Don’t know how you want the images to fill or fit etc.

Here I made a composition that checks every 10 seconds a folder called “Monitored Folder”. It checks how many files are in it, and if it detects the amount of files changed, it retrieves the last image (lexicographically), shades the next face of a cube with it and rotates the cube by 90°.

It’s a start that may perhaps help if I understand your question the right way (my english is not perfect) and the composition is not perfect yet.

Monitor Folder Image to Cube (3.34 KB)

1 Like

Here’s a composition that scrolls a series of images across the screen. It uses two layers as sort of vehicles to hold the images. The two layers scroll across the screen, and as each reaches the end, it jumps back to the beginning and gets a different image.

This composition reads from a static list of files, but could be combined with @Bodysoulspirit’s composition to read from a folder in which files are being added (with file names in lexicographic order).

ScrollImages.vuo (6.65 KB)

Thank you @Bodysoulspirit and @jstrecker ! We will take a look at your compositions this week, I already attempted a stab at this and have been fairly successful, however the composition is likely not very efficient as it requires 4 syphon servers running simultaneously in order to stream 4 scrolling images sides into VDMX to be mapped onto the real cube. Unfortunately my Macbook Air crawls close to a halt with this approach and means I cannot expand the concept to include more cubes (6 or 8 faces as opposed to 4) so I may have to try a different approach.

Attached is a screenshot (I will upload the vuo sketch itself next).

Here is the vuo sketch. Does anyone have any suggestions how to optimize this so that more scrolling sides can be added without slowing the whole system down?

Screen Shot 2016-03-28 at 12.25.50 PM.jpg

IMG_6729_edit_blur_med.jpg (652 KB)


@cymaspace, the reason your composition slows down as you add more scrolling sides is that the composition is using a lot of video memory. As your composition runs, a series of GL textures (images, basically) gets created and stored in memory as the images are fetched, resized, re-rendered, and tiled. Each 2800x2800x8bpc texture consumes about 31 MB of VRAM, and there are something like 17 of those in existence at any given time plus a few smaller ones. So we’re talking like 600 MB of VRAM. Plus other applications use some VRAM. On my own laptop, with only 256 MB of VRAM, a single-side composition runs OK but the four-sided one crawls at 1-2 fps. But on a computer with 1 GB of VRAM, your composition ran at 60 fps.

So one solution would be to throw more VRAM at the problem. But if you don’t have a computer with more video memory, the other option would be to reduce the amount used by the composition. Which means working with fewer and/or smaller textures.

One opportunity to reclaim VRAM would be to eliminate all the blank space in those 2800x2800 images output from Render Layers to Image. Instead you could output 2800x700, and rework the composition to make the layers move instead of using Tile Image.