Portfolio05.jpg

Interlacing for Unity 4 Free

Interlacing for Unity 4 Free

Update 2:
Eric James from Ins3D made some improvements upon my implementation:
link to the freevi forum page
link to his improved version 
……………… 
Update 1:
The following post was written before the release of Unity 5.
Even with the new version of Unity (Render Textures for free) my interlacing has a better performance on some devices.
………………

After successfully completing the first round of their challenge I received a free Commander 3D tablet from freevi.

The first version of their sdk for Unity used the usual method of rendering interlaced 3D: render textures.
Render textures are only available for Unity Pro users. In order to develop and publish an application for the Commander 3D tablet the developers had to buy Unity Pro and Unity Pro Android licenses. This could have cost them 3000$ or 150$ for subscriptions every month (12 months minimal contract).

I tried to look at the problem from a different perspective. 
Why not, instead of rendering the two images and interlacing them, we create a mask for half the pixels in each image and then render it. Fortunately the shader for such mask was very easy to write.

The final result was very surprising as it had a better performance (on the tablet) than the original render texture alternative. It increased performance by 2-10 fps and saved developers 3000$ per seat.

The github repo can be found here:
https://github.com/grigtod/Interlaced3DUnityFree
I would like to note that this method of 3D interlacing is not hardware specific. If you need to interlace 2 or more cameras you can use it.