Been a bit of a while since my last post – many things have been happening to keep me otherwise occupied, not least that I’ve had to quit my flat in the Cross for apparent rennovations, and put all my stuff in store, including my PC, Pi’s/cameras and 3D TV.
Currently residing at a backpackers just over the road until I can get somewhere new sorted out. In the meantime here’s a quick peek of a somewhat rough video from the hard drive of my work laptop – it’ll need to be edited and run through stabilisation plugins etc. More posts when things are a bit more settled. They could hardly be less…
The code for stitching together 3D images from left/right pairs is up on Google Code (https://code.google.com/p/tools23d/). Looking through it I can see about 80 things that are a mite shonky (not least that the wraparound code isn’t done yet), but it’s sort of my mid-year resolution to actually release stuff rather than tinker for a decade and a day. It’s standard ANSI C/C89 if you fancy compiling it up.
Yes – it would have been here a sight quicker using yer standard C++/Boost type malarkey, but I did it in bog-standard C basically because a) I wanted to check I could still write non-objecty code and hadn’t permanently sprained my brain, and b) when I started writing it when I only had a Raspberry Pi as a development machine and the compile times were eating away at my sanity.
Currently still faffing with the Pi/Arduino side, -will bung that up too soon-ish once I’m sure I’ve got both camera’s synced properly …
Quick note – I’ve also forked OpenRA (http://www.openra.net/), with the object of adding support for the First Decade DVD (https://github.com/OpenRA/OpenRA/issues/3863). I have some holiday booked for next week (though it’s possible I may have to work), so I’ll try and look at it then.
Hmm – so once I’ve got the timelapse/SDL2/3D stuff out of the way I’m looking to kick off another project – investigating adding a VXML backend to Emscripten (a source-to-source compiler built on top of LLVM). This should give us the following advantages :
Retargetability
Lower skills barrier
Built-in optimisation
It’ll probably be a personal project (unless I can get anyone to pay me for it of course …). Have set up a Google Code project for the photo-to-3D code – will upload once I’ve got a few more kinks knocked out of it (“release early and release often” and all that). I’m trying not run afoul of the usual twin tag team of perfectionism and explosive feature-creep, but it’s difficult – even on such a small project.
I’ve just returned from attempting to do some more Raspberry Pi timelapse filming with 2 camera’s on the way home from work – I think a drop of rain scored a direct hit on the left camera because it’s all gone a mite Forbidden Planet :
I’ll put up some videos in half SBS 3D suitable for a 3d TV when I’ve got some more material and finished the relevant code.
This is the view from my window at work. I actually have a working PC now, hence I could edit this in Openshot, rather than rely on ffmpeg from the commandline.
EDIT : Here’s the original definition version (minus a bit of footage), if anyone is interested :
Here’s a bit of code to read SVG paths – it’s from my code to convert vector graphics to OpenVG commands and 6809 assembler for the Vectrex (among other things). However, as that’s progressing at around the speed of continental drift I may as well put it up here in the hope that someone else may get some use out of it. It uses Boost.Spirit, which is an excellent method of turning EBNF grammars into something that looks like Martian hieroglyphics, should you be so minded :
Location location location. Geolocation, in point of fact. I’ve written a quick snippet of code to query http://ipinfo.io for my current latitude and longitude, for the purposes of calculating the times of sunrise and sunset (my Sleepy Pi has now arrived), and it gives some “interesting” results. Whilst running from home is almost creepily accurate, running from work gives me the address of the Canberra office (!), and at the other end of the spectrum running it while tethered via a mobile deposits me here :
Another test – this time with my new mobile battery. I’m also employing some much higher-tech camera mounts. Yes, that’s right – I used duct tape and a ladder.