Saturday, February 11, 2017

Crazy Ideas Folder: OpenGL Renders in "Background" Mode via Mesa GL?

This evening, I caught a mid-conversation snippet that had me thinking, "Is that really so? I'm not so certain about that..."  (or perhaps my supervisor's frequent utterings during our meetings have been starting to get ingrained in my mind XD).  Anyway, the quote in question was:

"it's not possible to do opengl render in a background mode"

Really?!  I know it's not **currently** possible to do an OpenGL render in background mode, and perhaps there are limits to what we can achieve (especially if you're not allowed to spawn any windows and/or there's no graphics card on the rendermachine).

However, something from the vague hazy memories of the past tell me that this is not a cut-and-dried certainty.


Wednesday, February 8, 2017

Quick Tip/Hack: Getting MSBuild to Stop on First Error

One of the most annoying and common problems (as a bit of Googling soon reveals) when compiling a big project with MSBuild (multi-process) is that even if compilation fails on one of the files (due to a syntax error or some other error condition), it will keep compiling the rest of the codebase. This is bad for two reasons:
  1)  You won't be able to link the program in the end anyway. At least in my experience, even if you could link the program (and that's not a given in every case), it doesn't make much (if any) sense to have an unreproducable chimera of old + new code (though exactly which bits they are you probably won't remember a little down the track)

  2)  You'll probably have to recompile all the code again once you fix the error anyway. More often than not, I've mainly had these errors show up when changnig code in a popular header file that large swathes of the program used. So, if a compile error like this showed up, the computer would have already wasted a lot of time/energy compiling a lot of files (many of them unsuccessfully too), work that would have to be redone when you've fixed the error anyway.

After a few false starts, I ended up finding a neat (if somewhat evil) little hack to solve this problem once and for all.


Tuesday, February 7, 2017

Custom MSBuild Loggers for Blender Devs on Windows

Given that it was a long weekend here in NZ, I decided to take a little time off to work on a little "weekend project" I'd been wanting to work on for ages. (BTW, it wasn't the only weekend project I worked on this weekend, but it's the only one that will be of much interest to anyone else :)

Here's an obligatory screenshot showing the results of my work.

 The "cleaned up" Blender build output as a result of my project: blender_msbuild_loggers

Saturday, February 4, 2017

Blender Dev Updates - 21 Jan

(EDIT: I originally meant to post this a few weeks ago, but it's taken a while to get around to finishing the demo materials included here... but, PhD work takes priority, again...)

This week I took some time out from my PhD work (argh, creating questionaires is such a pain) to get through a bunch of simple new features I'd been meaning to code during my break... that is until continuing my holidays took priority ;)  But with the announcement that we would be pursuing a 2.79 after all, it was time to brush off the plans and get these features in.

Most of the new features are Grease Pencil related... (Some but not all of them can be seen here)

But, there's also stuff for all animators too...


Wednesday, February 1, 2017

After the Rain

Here's one more set of photos to clear some of the backlog of photos I'd been meaning to post here (I'll leave the sunsets for another day, since there've been quite a few of those recently :)

There's a magical moment shortly after the rain has cleared, when the flowers in the garden are bathed in a fesh coating of fine little glassy crystals...

Seagulls up Close

A few weeks ago, I had a lovely walk around the CBD for the first time in ages. Along the way, I found a nice shady spot on the riverbank to sit and watch a flock of gulls preening, sleeping, and otherwise doing a whole lot of interesting things you don't often get to see them doing. For instance, who would've known that aside from squaking aggressively and trying to steal your lunch, these things can also look kindof cute - especially when they stand on one leg looking like a moggy with a bad case of fleas!

From certain angles, there's a bit of cuteness in there... Somehow, this shot reminds me of Piper. (I think it might be the rounded head and the placement of the two dot-like eyes on there that does it)...

The Sea - On an overcast day

With the lack of kites to photograph, I ended up turning my attention to the waves crashing upon the shore (as seen from the pier). In recent times, everytime I've headed out to the coast, I've been really quite captivated by the magesty and power of the waves...


Kite Day 2017

Over the weekend, the annual "Kite Day" was held at New Brighton beach, on a warm but overcast summer day.



While in previous years, there would be large displays of a variety of massive novelty kites, this year, they were in short supply... As I later discovered, there was apparently too little wind to get them up into the air that day (despite the day before, and day after being really windy...). However, in place of the large display kites, it was fun to see so many families out and about having fun trying to fly their own kites :)

Thursday, January 26, 2017

"Regal" - Orchestral Tune

One morning, a melody came to me while having breakfast, so I spent a few minutes transcribing it. The whole thing kindof snowballed however once I realised that the French Horn can't actually play some of the higher notes I'd been building up to, hence the introduction of additional instruments, leading to horn + trumpet + strings (vln 1, vln 2, vla)  + flute  (added in that order).  Apart from the crappy quality of the synthesizer (blame the MuseScore folks :P), the following clip captures what I set out to achieve that morning quite well I think (plus, it turned out quite nice too IMO :)


Violin Layering Highlights - January 2017

Over the past few weeks, I've continued playing around with my "Violin Layering" series of improvised recordings. Here is a collection of some of the highlights from this month. Hope you enjoy :)

Sunday, January 8, 2017

Voice Controlled AI Devices - A Reaction Post

In response to the article about voice-controlled boxes being activated by a news item about how a kid managed to buy a dollhouse + cookies off Amazon via the voice control.

Interpreting sound has never been an easy thing. Not for humans, and definitely not for computers! If you actually think about it, it's not that hard to imagine how hard it is for a computer to understand speech and sounds. For example:
   * How many times have you had trouble understanding someone's accent? Or had a misunderstanding because you misheard someone's muffled speech over a noisy/muffled/faint/crackling/unreliable phone?  Well, guess what, for a computer doing voice recognition, the only input it's got is the sound coming in from the microphone... which of course is mixed in with everything else going on sonically in that environment (e.g. TV's, smartphones, gaming consoles, music players, rangehoods, kitchen equipment, aircon, running taps, open windows/traffic-noise/neighbours, bickering flatmates, etc.). And that's not to mention that the users may be out of range of the microphone, or the microphones may be cheap trash bought for bargin basement prices, and have been wired backwards...

   * How many times have you been watching a film or tv show, and found yourself lurching for the fire escape as a siren sounded on screen? Or reached for your phone, only to realise that it wasn't your phone ringing, but that of the lady at the next table? Or perhaps you've responded to someone calling your name, only to find that a stranger had been calling another stranger, and not you (the now slightly embarrassed sucker trying to pretend that you didn't just not-answer to your name). Clearly, even us humans get it wrong quite often, but at least we often have the benefit of *context*, the ability to use our other senses to diambiguated the situation, and a few other "on-the-fly" techniques. (This probably goes some way towards explaining why there's a reason that people like me really don't like answering phonecalls or having to call people on the phone...). Anyways, if it's hard for us humans to get this stuff right, expect the computers to have an even harder time to disambiguate all of this!


Inspired by all this, I wondered what a "day in the life" of one of these voice recognition boxes would be, when deployed in a domestic environment that's not kindof far from the "idealised model-human" fantasy that designers often find themselves falling back to... The answer was that it would feel like they were a lost and isolated operative thrust into a war zone - "hostile enemy territory"...