Saturday, December 31, 2016

End of Year Rambling - 2016 Edition

Lo and behold, it's already the end of December, and the last day of 2016 too! How time flies...

Pardon the lack of updates here over the past month(s). As you may have noticed, it's been a rather hectic few months for me as I'm currently locked into a soul-sucking death march tussle with my PhD project (also known as the dreaded "write up"). There's still a few short/long months left before I'll be done with it; whether it's short or long depends on your worldview - short when it comes to the mountain of work remaining (eek!) and long when thinking about the amount of time/energy required to get it all done (double eek!). On the bright side though, come May 1st (all going to plan, fingers-crossed), I'll finally be able to resume work on my ever-growing backlog of 1000x more exciting projects... Hang in there Blender animators - there's heaps of goodness just around the corner!

Therefore, the past week and a half I've been having a "real Christmas vacation" - that is, no work, no work-like things, and no "projects"... Just taking a break, and enjoying life like any "normal/regular/sane" human being does when this time of the year rolls around ;)  So, I'll keep this post short, so that I can get back to my holidays :)

Monday, November 14, 2016

Regarding the recent quakes...

In case you haven't heard, there was a massive 7.5 earthquake north of Christchurch (near Hamner Springs) that struck last night just after midnight.

Unlike the previous ones we've had, this one went on for a very long time - for some 2-3 minutes by our rough estimation... much much longer than any previous quakes we've seen (and we've seen literally thousands in several years at this point). It was also relatively gentle (comparatively speaking): instead of any sharp jerking, shuddering, or horizontal shunting (i.e. the most destructive type of quake motion), we were instead treated to a "lost at sea in a heavy swell". The ground seemed convulse beneath our feet in wobbly waves of undulating motion. Combined with the gentle swaying of all the walls, light fittings, and other free-standing objects, the flickering lights (which threatened to blink out at any moment), and doors banging open and closed, it was quite a sickening feeling. I can only image how bad sufferers of motion sickness find travelling to be...

Reflections - Piano Improv - Mid-Winter

I was trying to free up some space on my phone over the weekend when I stumbled across the following recording I'd made of myself thumping a piano back in July (probably in the depths of trying to complete a never-ending writeup of a previous experiment). Unfortunately, the timestamp info got clobbered during the file transfer process, so I can't remember when exactly this was. Nevertheless, listening to this again, I'm quite pleased with how it turned out - it almost sounds like I actually know how to play the piano (TBH, I don't! ;)

Saturday, November 12, 2016

Looking Back at 10 Years (and Counting) as a Blender Developer

Woah, I can't believe I missed posting this a few days ago (*), but Wednesday (9 November) marked 10 years since I've had commit rights as part of the core Blender development team! Yipee!

While I actually started developing Blender earlier that year (a search on BlenderArtists reveals that I finally got the codebase compiling in June 2006 for the first time, after many failed attempts), my first major contribution to the Blender codebase was my patch for the Transform Limiting Constraints that got accepted on 14 August.

Tuesday, October 18, 2016

Horn Theme

And now for something different... a little horn theme I came up with this morning. Probably indirectly inspired by some similar bits and pieces from a John Williams score or from one of the cues from Thomas Newman's Bridge of Spies score.

Disclaimer: Any similarity to any of the aforementioned scores or anything else is entirely coincidental.

Tuesday, October 11, 2016

Microsoft's Revamped "Paint"

This evening, it came to my attention that Microsoft has been working on an updated version of their classic "Paint" app, but "Windows 10-ified" and with support for basic 3D drawing/sketching...

Woah... this is an interesting move, though not completely unexpected, with the other basic 3D creation tool they bundle by default (IIRC) that's aimed more at people interested in 3D printing simple objects. Having begun my digital art journey with MsPaint in Windows 98 (I like to think I got quite skilled at drawing using a 2 button mouse on a pixel-by-pixel scale, "graduating" on to animate my first characters using MsPaint + MsAgent), it's interesting to see what the next generation of budding artists playing around with a "vanilla" PC will be able to start from.

Wednesday, October 5, 2016

Violin Improv - Moody/Atmospheric Tracks

Today's latest set of tracks:

It's been a while since I've had a chance to have some fun and do this (between being sick and catching up on all the work I'd had to put aside during that time). Once again, everything is just me improvising each track by overdubbing them a few times. Overall, I'm quite happy with how this set turned out - they turned out quite thematically similar (apart from the last one, which was an interesting exercise in seeing what sort of random special fx I could come up with).

Wednesday, September 28, 2016

QML Tip: Making one ShaderEffect use the output of another ShaderEffect

I've been doing quite a lot of work in QML lately for one of my research projects. Recently, I ran into some problems when trying to use ShaderEffects to actually apply them to "interesting" widgets/elements (i.e. on to anything that's not an Image and/or is more complicated than just a simple Rectangle). This post is just a quick guide to some of the key issues here (and ways around them), since it's not exactly that obvious from the documentation that this is the cause/solution, and no other hits come up about these issues...

Sunday, September 25, 2016

Useful Tip: Changing command line prompt on Windows

I just came across a useful little trick this afternoon for making the Windows command line prompt (i.e. the one you get when running cmd, which shows the current directory) much shorter  (heck, you can set it to anything you like even!), so I thought I'd just note it here so that I can look it up again should I forget in future.

prompt [new_prompt_goes_here]

That's it! Just type this little command, and it will change the prompt that gets displayed.

Saturday, September 17, 2016

Annoying Habits of Computer Science/Software Engineering (Students) Designing UI's...

Over the past few years, I've had the opportunity to have a front-seat view of how groups of 3rd year computer science/software engineering students approach the problem of designing a UI. It has been said in a few places (citation needed) that ultimately, the way group projects end up taking place for class projects and in real life are largely similar(ly awful). Thus, given that many of these folk will end up in the workforce in the next few months to a year's time as the newest batch of "professionals", if what I've seen is anything to go by, no wonder we're kindof perpetually doomed...

It's also no wonder then that we're often burdened with so many absolutely terrible systems for what-should-be-mundane/trouble-free processes like activating cards or making use of various services for the first time, etc. Or, nastier problems like the current religious dogma + regime of "automatic software updates" that regularly foist themselves at you every other day, usually at the least convenient times, and from time to time leaving a colossal mess behind when they're done.

Monday, August 29, 2016

Grease Pencil - Reproject Strokes tool

Yesterday, inspired by Matias's blog post about storyboarding using Grease Pencil, I hacked together a little tool to fix up your Grease Pencil sketches when you find that you'd accidentally moved the 3D cursor around while drawing, causing all the strokes to be splayed out in weird places in 3D space.

Here's a video showing off how and when to use it (thanks to Matias for letting me use the file from the blog for testing :)

From the video description and commit log:
This operator helps fix up this mess by taking the selected strokes, projecting them to screenspace (i.e. "flattening" the strokes back on to the screen), and then putting them back out into 3D space again. As a result, it should be as if you had directly drawn the whole thing again, from the current viewpoint, but without losing the pressure/strength info.

Unfortunately, if there was originally some depth information present (i.e. you already started reshaping the sketch in 3D), then that will get lost during this process. But so far, my tests indicate that this seems to work well enough.

Friday, August 5, 2016

GPencil V2 Has Landed

In case you've missed the news, Antonio's "Grease Pencil v2" branch landed in master earlier today. Check out the upcoming nightly builds for the new goodies :)

And now for some obligatory doodles I made while giving the tools a bit of a shake down :)

Wednesday, August 3, 2016

Siggraph '16 Paper - Fish Swimming Simulation

This video just popped up on my Youtube feed this morning:

It's the video accompanying a paper that was presented at Siggraph 2016 last week (pity I couldn't be there... there were quite a few talks/production sessions I'd have liked to attend), describing a system they build for simulating how different types of fish swim. They also discuss how this method can be used for simulating schools of fish swimming and interacting to various forms of shaping controls (e.g. for art directing the results), including doing so interactively!

Sunday, July 31, 2016

Violin Layering Songs - 20160730

Here's another bunch of songs I recorded for fun (and a break from "work-like" things) this afternoon.

This time, I tried to keep things a lot more "tonal" than in previous recordings, so hopefully more people will find it less unsettling to listen to. Another thing I was playing around with here was tweaking the left/right balance and relative volume levels of each track (apologies in advance if one or two are a bit on the "loud" side) - I ended up optimising for headphones (tracks "8" and "3" in particular really sound a lot better this way; in particular, "3" only seems understandable this way).

My personal favourite of this set is the first one on the playlist ("8 - Horse Riding"). While there may have been a few places where the timing isn't quite perfect enough, the overall effect is quite nice, and really gives off that equine "galloping" feel to it :)

Friday, July 29, 2016

The Sea - Music inspired by a visit to the beach

It's taken a few weeks to get around to it, but I've finally gotten around to uploading the set of tracks I recorded for use as a soundtrack to a bunch of clips I filmed while spending some time out at Sumner beach watching the waves. You can see one of those clips (a real-life homage and fan-art for Pixar's "Piper") and the track I specially recorded for it here.

It was really relaxing spending time just staring out at the waves as them came crashing in to the shoreline. While the picture above shows the tides as they started to recede, they were initially much higher, and would come in thick and fast.

Thursday, July 21, 2016

Seagulls vs Waves Clip

Keeping with the theme of "fan-art" of sorts, here's a little video I put together from footage I shot while out a Sumner beach on Saturday afternoon...

From the video's description:
A pair of seagulls hunting for food along Sumner Beach, between the receding tides. Filmed yesterday during a relaxing stroll along the shoreline out at Sumner, after a great lunch. The sea yesterday looked as I've never seen it - the water level was really high, and the waves just kept coming in thick and fast.

The scene reminded me a lot of Pixar's amazing short film "Piper" (showing in front of Finding Dory). It's one of my absolute favourite shorts! Great story, wonderful animation, amazing rendering, and OMG cuteness overload!

While this shaky phone-cam (at reduced resolution to save disk space) doesn't hold a candle to that, this clip is still very much in the same spirit!

The soundtrack here is a little track I recorded specially for this footage. It's done using the "Violin Layering" techniques I've been playing around over the past month of so - basically, I recorded the first pass of the music watching the video (via my phone), and then worked on recording extra tracks for it while keeping in mind the general mood I was going for (in addition to the key beats of the clip). It's not quite 100% there yet, but as a first attempt at doing this, I'm overall happy with the results!

Mid-Week Doodle - Blurry Tree-Lined Path at Night

Another little doodle/painting session to relax a bit, inspired by the experiments I'd been doing this autumn with deliberately defocussing my lenses to get an optimal "painterly bokeh" look. (Long-time followers of this blog may also remember that a few years ago when learning how to use GLSL, I mused about developing a "disk splatting" technique for rendering bokeh-filled scenes; this was basically another attempt at achieving similar results, except in the real world ;)

This image started by being just an attempt to test the "disk splatting" blurry-tree technique I'd been interested in trying (especially after accidentally "discovering" a way to achieve that look in Krita using a particular circular brush, playing around with different combinations of Opacity + Size settings). However, seeing the result and feeling that the result still somehow lacked a bit of the "oomph" the foliage needed, but not being able to quite pinpoint it, I started blocking in some background (in the hope that it might help), and before long, I'd ended up with this scene.

It is partially drawn from somewhat idealised memories of the annual Lantern Festival in Hagley Park (this particular setting is a bit closer to this year's layout, leading to the area where they had the fireworks). However, it is probably influenced more by the beautiful work of Leonid Afremov - he's one of my favourite painters, with his unique style chunky blocks of bold + vibrant colours, which he paints by using a little triangular knife to scrape lumps of oil-based paint onto the canvas. In that case, I guess you can probably consider this an example of some crappy "fan art" of sorts ;)

Sunday, July 17, 2016

Sunday Afternoon Doodle (+ Additional Music Mashup)

Just a random doodle on a cold and dreary Sunday afternoon, playing around with Krita's Multibrush tool... It's quite bizarre using this tool, yet sometimes, you can get some funky effects (like the middle bit, which was quite captivating to draw).

Tuesday, July 12, 2016

Pyne Gould Building Collapse Simulation Video - Blender Bullet Addon Demo

What strange times we live in: I just came across a video for a Blender addon for simulating building collapses using the built in Bullet (rigidbody simulation engine) tools.  What I didn't expect though was to open the video link, and be confronted with was this:

Woah... I know this place...

This is the Pyne Gould Building, that collapsed during the Feb 22 2011 Christchurch Earthquake. It was one of the two worst hit buildings that collapsed that day, killing and trapping people. The other one was the CTV building (also in the CBD), where over 100 people died (including the mum of a classmate from primary school) when it pancaked. In other words: not really something us Cantabrians want to remember/dwell on...

Friday, July 8, 2016

Boom! New Animation Features - 7 July 2016

Boom! I've just pushed a bunch of features I've been working on to master. Some of these are things that you've been asking for for a long time too, so be sure to keep an eye out on the nightly builds coming out soon :)

Here's a quick list of the recent highlights:
* Animation Editors: Object datablocks are now sorted alphabetically by default  - I suddenly figured out a way to minimise the potential performance hit of having this enabled, so now you don't have to suffer with having you objects ordered however the old depsgraph thought they should be ordered (yes, that's the reason why the old ordering was as crazy as it was... blame the old depsy!)

* Dopesheet: Added "Moving Hold" as a keyframe type - Note that this will also automatically show "long keyframe" indicators between these keyframes (as you get with normal holds), so you can see at a glance where these are

* Dopesheet: Keyframe size can be adjusted as part of theme settings - For those who've been saying that by default the keyframes are bit hard to select

* Delta Transforms
   1) Added operators to make it easier to "Freeze" the current transform (either Loc/Rot/Scale together, or just Loc, Rot, or Scale by itself) into the Delta Transforms, leaving the normal transforms zeroed out again. These can be found in the Apply (Ctrl-A) menu
   2) The "Animated Transforms to Deltas" tool is now located in the Apply menu too, to make it easier to find it relative to the new tools

And from a few weeks back (for good measure):
* Ctrl-Shift-C: Made it easier to add constraints between bones in different armatures  - When the second object selected is an armature in pose mode with an active bone, the Ctrl-Shift-C operator for adding constraints will be able to pick the bone in the second armature as the target. Previously, it would only go as far as using the object

* FCurve Auto Colours: "XYZ to RGB" works for Quaternions too now  - The "W" channel uses a Yellow colour (blended from the X and Y axis colours).  (Note: If I knew what I know now, we would have had some stuff in place to ensure that colour animation was done in any colour space other than sRGB - even HSV as used here would be a lot better for a lot of people)

* Dopesheet: Circle and Lasso select now work  - These were relatively new additions to the Graph Editor (like only added in the past 1-2 years, from Gooseberry or so), so that's why they weren't there for the dopesheet yet

* GPencil: Eraser respects "Selection Mask" when in EditMode

I've got a bunch of other stuff planned, but for now, I'm not sure when I'll have time to get around to them yet. Hopefully soon (fingers crossed) :)

Happy animating!

Thursday, July 7, 2016

Violin Layering Experiments - 20160706

Earlier today, I had another fun session playing around with making overdubbed violin recordings. This time, I was mainly playing around with the order in which I recorded the tracks (e.g. "3 - Delicate" and "5 - The Last Moose" had the melody line recorded first, while "D-F-A" was an experiment in layering things up with layers hovering around each of the notes in a standard D-minor chord). The result is a set of pieces that I've found are quite nice for listening to while working, especially when played in the order I created the playlist in (hopefully it appears the same for everyone else... for reference, it's: 3, 4, 7, 1, 2, 5, 6)

Some of the dissonance in the tracks is still a bit unsettling (I'm working on it! It's getting better in general I think) and as a result may not be everyone's cup of tea, though on the whole, I'm again quite pleased with these tracks :)

Wednesday, June 29, 2016

Violin Layering Experiments - 20160629

Today, I played around with some more "layered" recording. Here are some of the better results:

This time, I nailed down my tech setup a lot better - laptop lid up (to not muffle the sound - I usually keep it closed nowadays as I exclusively use the external monitor), and headphones on for playback (it turns out I need to fully extend the cord and to actually have the band flat on top of my head to get the cords out of the way). As a result, there's a lot less "bad noise". Judging from these clips, I might be getting the hang of this... then again, you haven't heard the rejects instead :P

One of the biggest challenges still is keeping track of all the other "sync points" in the other tracks to avoid creating some nasty muddy/confused/out-of-sync clusters that just sound horrid and messy. It's particularly bad once the track count starts ramping up and it's no longer possible to show everything on screen at once. Maybe that'll be the next little "fun hacking experiment" :)

Sunday, June 26, 2016

"Piper" Review - Finding Dory Short

I decided to pull this one out into its own post, as it kind of deserves it IMO...

Birds. Macro Photography. Shallow DOF. Awesome Renders. Entertaining + Creative Animation and Sound Effects. Pixar. Fluff-ball Cuteness Overload!

This is one of the best little shorts I've seen. I really, really, really love it! It's just soo adorable, and features a lot of my favourite things.

Finding Dory Review (SPOILERS)

I just got back from a fun rainy afternoon watching Finding Dory  :D

Saturday, June 25, 2016

Violin - Layering Experiment (20160625)

This afternoon, I had a bit of fun playing around with doing some "layered" sound recording.

Until now, all my previous attempts have all been pretty much epic failures, as they would all end up getting completely out of sync in pretty nasty/destructive ways. But, "success" at last this time, even if it's just a short 30 second clip that has its own set of technical issues (e.g. use headphones not speakers next time - lowering the levels of each subsequent track helped quell the disquieting noise that had built up by the end).

Sunday, June 19, 2016

Sighted in the Night Sky

Over the past two nights, I've noticed a reddish-pink dot in the night sky about 1-2 inches above the moon. This got me thinking: What is that dot? Could it be Mars? Or is it Jupiter instead? Today, I finally figured it out with the help of Stellarium (an awesome Open Source planetarium):

Answer: It's Mars!

And the secondary (weaker/dimmer) spot nearby to the right of the moon was probably Saturn.

I've never really been terribly into star gazing, but wow! That's the first time I've ever been able to actually see one of the other planets in the solar system with my own eyes.

Thursday, June 16, 2016

Happy 16/06/16

Just a little bit of fun birdie art for a special date, featuring none other than one of my favourite little silvereyes :)

Painted using Krita

Monday, June 13, 2016

General News and Updates - PSculpt/Sketching, Drivers, GPencil, Uni/Work/Life

It's been a few weeks since by last updates, so I thought I'd do a little post to fill everyone in on where things are at.

Wednesday, June 1, 2016

Next Gen Animation Dev - Dev Update 3

As promised, here is a video updating showing off the current state of the Pose Sculpting and Pose Sketching tools, and how they can be used for a more fluid animating experience.

Sunday, May 29, 2016

Next-Gen Animation Dev Sneak Peak - Teaser Pic

Woohoo! Tonight I finally got stage 1 working at last!  More details about the entire grand plan here will follow in due course, but let's just say that what you're seeing here is just like the tiniest/most basic little stepping stone of the full set of things I've been dreaming about and working towards on and off for a few years now... I'm planning on recording a little demo video of the current state of all this stuff later today/tomorrow, which should help make it a bit clearer what's possibilities this brings. In the meantime, feast your eyes on this little teaser screenshot I grabbed of the tools in action:

Rig: "Basic Animation Rigs" by Beorn Leonard/CG Cookie  (CC-BY-3.0)

Even in the primitive state that things are in now, it's clear that these tools are going to be every bit as amazing as I imagined way back in 2010 as I stood in the bookstore reading Richard Williams' famous "Animators Survival Kit" book and getting quite inspired to push the state of animation tools into a new era :)  

Now, back to work!  Hehe :D

Saturday, May 21, 2016

Turbulent Autumn Storms - Violin Improv Session

Letting off some steam on a rainy autumnal-Saturday afternoon with some crazy violin bashing mixed in with some calmer/mystical elements. As usual, everything was fully improvised on the spot with no prior practice/planning, unedited... just whatever crazy noise I felt like making with my violin at the time.

The recording quality is a bit crappy - I should look into getting a standalone mic instead of using my laptop's one with the lid closed! Ah.. hindsight!

Wednesday, May 18, 2016

An In-Depth Look at How B-Bones Work - Including Details of the New Bendy Bones

Here's a breakdown of how the B-Bones in Blender work (including the new Bendy Bones stuff - see the other post in this series, which focusses more on the features themselves). I'm writing these notes up mainly so that I have something to refer to again in the future, if/when I need to do further work on this stuff. It took me a little while to figure out how some of this magic all fits together. However, now that I've figured this out, it turns out that it's quite easy to see all the extension points that this system has for adding interesting + useful features quite easily in fact. Therefore, before I forget about all this again, here we go!

BTW, all the diagrams within were done using Grease Pencil :)

Bendy Bones Dev Update

It's been a busy few months since I first announced that I was working on bringing Pepeland's Improved Bendy Bones to Blender. After being tied up with many other projects for the past few months, I just spent the weekend having a fun hackathon to get this functionality polished up and ready for general use in Blender proper. Along the way, I've also added a few cool new features, which really take B-Bones to the next level! Here's a sneak peak of some of these in action!

In each of these screenshots, you're seeing just a single B-Bone - no hidden stuff, no tricks. Just a single B-Bone...

UPDATE: It's now in master! (After a little fight with git to let me merge the branch successfully...) Woohoo!

Sunday, May 8, 2016

Don't you hate it when this happens...

While writing that previous post, I looked on in horror as "jumping spider" casually sauntered won from the top of my screen, and started walking down the the middle of the screen... At that point, I pulled up Paint, and started drawing the following note on the screen, with the intention of capturing a snapshot of it using my phone...

Lo and behold, this is the photo I captured. Making things worse/more ironic, was that as I was drawing the arrow that pointed at the blasted invader, it turned around (it had been facing the other way, big legs to the left instead), to face/stare at the arrowhead.... Way to go spider, way to go...

(And now, as I'm typing this, it's wandering in and out of the right hand side of the screen.... no, wait, now it's sitting over the "Schedule", no "Labels" button on the side panel, as if trying to have a say on what I classify this post as.... Gah!  It's so annoying, as I don't really want to just squish it dead on my screen, as I'd don't really want to scratch the surface and/or leave some unsightly stains... but, argh!  stop walking towards the text area now, alright?!  Dammit... nooo..... not on to the image.... nooooo.... and now you're looking down at the little handwritten message I'd just put up.... please don't proceed to try and get up to any fancy antics with your likeness.... noo... shooooo! Scram!  Get off my screen dammit!)

CHI2016 - Sketching Papers, and General Discussion of Interesting Research Directions

The annual CHI (Human-Computer Interaction) conference is on this week in San Jose. As one of the "big + important" conferences in Computer Science research, it's always interesting/important to keep an eye on what's happening there to see if there any interesting things come out of it. So, I duly started checking out the accepted papers, before stumbling across the "sketching" section.

My first thought was, "woah... they have a section on interfaces for sketching tools?!", followed quickly by, "I wonder if there's anything of interest there...?" It turns out that there are two papers here, both of which fall quite squarely into the frame of the type and style of research that I love doing most (i.e. the "fun stuff" I'm doing with Grease Pencil + Pose Sculpting/Sketching, vs the empirical work I currently do for my PhD).

So, what were these papers?
1)  "Skuid: Sketching Dynamic Illustrations Using the Principles of 2D Animation"
2)  "Storeoboard: Sketching Stereoscopic Storyboards"

Wednesday, May 4, 2016

Texture Painted Cube Test - Palettes

Just a short turntable anim of a texture painted cube for fun this evening....

The story behind this:
I was trying to find a way to test the "Palettes" system in Blender (which I'd just only recently heard of). Apparently it's only for the texture/image paint stuff (?), so I went ahead and started texture painting a cube!

Lo and behold, a few random dabs of colour using my tablet later, it turns out to look pretty darned interesting! Hence the turnaround, and a quick BI render of it.

Sunday, May 1, 2016

GPencil Anim Test - "Curls"

While testing Antonio's patch for fixing the way that fills for concave shapes get drawn, I got inspired to create a little animation of some of these shapes in motion!

While testing the patch, I kept running into some issues with certain U-shaped filled strokes, where there would randomly be some extra triangles getting created. After drawing heaps of those recently, to figure out whether there were any trends/reasons for this to fail, I realised that they would look pretty awesome in motion.... So, I had a bit of fun + relaxation doing some straight-ahead animation with Grease Pencil :)

Thursday, April 28, 2016

Clearing the Backlog...

Just a little heads up: if you've been waiting to hear back from me about various things (patch reviews, etc.), hopefully I'll finally get around to clearing this backlog in a day or so, or over this weekend :)

I've just ended up being a bit busier than usual with my research work recently (trying to get an experiment done - recruitment is a PITA with lecture break + having to run people through one by one on the eyetracker, setting up all the data analysis, and updating all the writeups for all that stuff - and pretty much all of that needing to happen around the same time), so things have been getting a bit hectic around here.

In the meantime, hang tight, and I hope to have some nice dev announcements to make shortly when I get around to it! ;)

Pixar's GTC 2016 Talk - Viewport, Workflow, and Hydra

If you haven't already (and have 45 mins to spare), it's well worth watching Pixar's recent talk at the GPU Tech Conference (GTC) 2016, where they discuss some very juicy and interesting topics.

These include a very detailed look at their in-house animation tool Presto, and all the GPU/OpenGL4 viewport magic, workflow stuff, and the announcement that they're open sourcing their fancy viewport renderer (Hydra) as part of the USD (Universal Scene Description) release later this year. Exciting stuff!

Friday, April 15, 2016

CMake Rant

Arrggghh!!!   I wasted quite some time this afternoon tracking down a crash I was getting in one specific case, where it didn't make any sense at all that it was failing. After trying a lot of things to debug the situation, it only dawned on me quite late that it was the build system at fault here: that is, IT WAS CMAKE's fault. Again.

Why am I not surprised? Well, to this day, I still cannot trust that it's going to actually rebuild what I ask it to, when I ask it to, with everything it's supposed to be using. Heck, even finding out if it actually rebuilt the file or whether it skipped over it is not that easy (in short: it's output is a messy verbose dump of internal diarrhea).

Now, even if it did rebuild the file in question, it may have done so with the wrong settings.  Yay to "config first, then build".

Even worse though, is if it silently omits to add certain flags which you'd expect are included as standard-issue features, and requires you to actually manually add it in in every place where you might use it (*1).... The only way you'll know that has happened? After your code mysteriously keeps failing in bizarre ways, after several hours of debugging.

Gah.  And all that for two little buttons that probably won't be used that much anyway!

</end rant>

(*1 - To be fair, the flag-omitting is probably more of a design choice made in our cmake buildscripts. That said, it's a bloody annoying one if you don't know about it!)
(*2 - It's good to finally get this thing off my desk at last... It's been sitting around, blocked while I've had to work on other stuff, for the past few weeks since Easter....)

Saturday, April 9, 2016

Grease Pencil Fun - "Hedgehogs" Character Sketches

I had a bit of fun this evening doing some little sketches of my "hedgehog" characters using Grease Pencil (with Antonio's stroke quality tweaks, as found now in master). I gotta say, the stroke quality improvements really do seem to make a massive difference for making these strokes feel a lot nicer to draw with!

First up, introducing Mr Russ Prickles!

Russ' Briefcase - He works for Prickles Industries Ltd. - doing what, no-one knows...

I came up with the basic character design for these a few years ago while attending some particularly boring talks, while some of the characters/elements are ideas I've been toying with on and off for over a decade. They were originally going to be part of a little short film (or more specifically, the opening sequence of that) - with Russ hitchhiking his way home along a deserted, grass-lined moonlit highway, carrying his briefcase, back to his family in the hedgehog colony in the woods. Also, all of this was to have played out against the backdrop of Roger Whittaker's "Good Morning Starshine".

Sunday, March 27, 2016

Driver Workflow Improvements - "Property Eyedropper" for Quicker Setup, and Other Features

It's taken a few days of intense hacking and investigation, but late this afternoon I finally succeeded in implementing a new way workflow for setting up drivers that should help streamline the process. Many have been requesting a faster way of doing this for years and it's been on my todo list for a while now until I finally got around to it this Easter.

Here's a little demo of how this now works:

Friday, March 25, 2016

Elephants Dream - 10 Years of Open Movies

What a neat mashup - the Cycles renders look gorgeous!  (I have to say though, that the more you think about the dialog in this little shot and the rest of the scene, the more confusing it gets, and the less it all makes sense... hahaha)

EDIT: On rewatching again a few days later, a new interpretation that somewhat makes sense does come to mind... hmm... 

Monday, March 21, 2016

Blender 2.77 Released

After weeks of delays as we continued to find regressions (including quite a few from OpenGL related code cleanups), Blender 2.77 has finally been released!

Perhaps one of the big highlights of this release is that it features all the new Grease Pencil features and development that I've been working on for the past few months. In particular, this includes all the stroke sculpting, UI tweaks, and many other cool things this brings!


Sunday, March 20, 2016

Incomplete List of Things to Try for Troubleshooting Blender Cloth/Sims

I was fielding some questions about debugging problems where a cloth sim was passing through an animated character mesh this afternoon. So, I thought I'd just include a list of the common things to check on when a Blender Cloth or Physics sim doesn't collide correctly.

Disclaimer: I'm by no means an expert or too experienced with the particulars of the Blender cloth sim. However, I have played around with these enough and/or come across enough bug reports on this stuff to have a few ideas about common issues that can occur. Hopefully this will be of some use to someone out there :)

Monday, March 14, 2016

LinkDump: DIY 3D Printed Orthodontics

It is with a mixture of surprise and mild horror that I came across a blog post today where the author went and made his own set of 3D printed clear-plastic-teeth-adjusting-things to self medicate his crooked teeth.

My reaction to this post (and in particular, the screenshot copied above) can be summed up as follows:
* Surprise at the audacity of being a human guinea-pig for doing this DIY (with what appears to be no medical supervision), but also that to create the sequence of 3D printed inserts, he not only used Blender (eek!) for his 3D needs, but used the animation tools in Blender to generate the sequence of progressive steps needed to perform the teeth adjustments (double eek!).

* Mild Horror - It's one thing to work on animation tools for animating fluffy bunnies bouncing around on screen... it's another though to find that these tools were used to generate medical molds (*gulp*)...

New Animation Feature - "New Keyframe Type" Setting

Yippee! I've finally gotten around to finishing off a little feature I've been trying to get into Blender for a while now: A per-scene option for controlling the type of keyframes that get created when inserting keyframes.

The "New Keyframe Type" setting in action - It can be found on the Timeline header, between the Auto Keying toggle and the Keying Set selector.

This setting is useful if you use a conventional multi-pass "pose-to-pose" method for animating, where after blocking in all your key poses, you might start creating breakdowns, then doing other in-between stuff. With this setting, once you've finished your initial pass, you can just click on the next keyframe type that you'll be using for your next pass, and all the keyframes you insert from that point onwards will be the right colour.

Thursday, March 10, 2016

Ladybug Macro Photos

I came home this afternoon to find a ladybug sitting on the edge of my desk. Naturally, it was a great opportunity to take some photos!

Workspace Upgrade: New 27'' Monitor

Today, I finally went out and got myself a nice big 27 inch 4k IPS monitor for use at home. I'd been stewing and investigating move this for several weeks now (though the idea of getting a larger external monitor for use at home has probably been floating around over half a year now).

Saturday, March 5, 2016

NZ Flag Doodle

Although I'm not in favour of changing the NZ flag, I nevertheless got inspired by some recent rants flying around to have a bit of a doodle for fun over lunch today. Here's what I came up with...

It turned out a bit like the "Red Peak" design in certain notable ways... it wasn't intentional, but that's just the way it ended up coming out organically... However, considering that I did come to see it as being a bit more agreeable than the other ugly disasters that the official committee ended up with, this quick hack also has some interesting properties I guess.

Friday, March 4, 2016

Super Saturday Sunrise

As you may have guessed already, I'm more a night owl than an early riser.... mornings have never really been my thing :)  Yet, last Saturday, "Super Saturday" (more on this in a moment), I happened to wake at the crack of dawn. One thing lead to another, and before long, not only was I out of bed, but I was out of the house, then out of the garden and across the road, and still clad in just pj's and flip flops (sans socks)! Fortunately, there weren't many people out at that hour, and the weather was not too cold (it was already quite mild, though slightly on the chilly side - it had after been in the low 30's for the past 2 days at that point!)

I have not done any post-pro to any of these images. These are practically all straight out of camera!

Monday, February 29, 2016

Leap Day and Quakes

Yay! Today is "leap day" - a day that only comes around once every four years, and which poses some unique challenges for kids born on that day :P  To celebrate, Google put up this awesome cute doodle on their homepage  :D

Friday, February 26, 2016

Hot Weather + Last Night's Sunset

The weather over the past few days has been quite warm - hitting 33 yesterday, 32 again today, and a forecast high of 31 again tomorrow. Considering that this is the tail end of February (traditionally the hottest month of the year in Christchurch) this is not too surprising! With the warm weather, we also sometimes get some rather dramatic skies. Last night was no exception!

Monday, February 22, 2016

5 Years On - An Eerie Day of Parallels

It's that time of year again - a day on which we Cantabrians reflect on a traumatic event which caused immense death, destruction, pain, and anxiety... the deadly February 22, 2011 earthquake at 12:51pm which forever changed the face of the city. This year marks 5 years since that event (a milestone of sorts). Somewhat morbidly, there were quite a few eerie similarities between that day and today...

Power out in Lab 2 just after 12:50!  (Feb 22, 2016... )

Sunday, February 21, 2016

Burnside High '08 - Reunion 2016

This evening, I attended a small gathering of former classmates from high school who graduated in 2008. For quite a few of us (and particularly in my case), this was the first time that many of us had seen each other since the "leavers last lunch" in 2008, so it was quite interesting + exciting to see everyone again.

Tuesday, February 16, 2016

Seminar Summary: "From Nand to Tetris"

This morning, I attended a fascinating seminar by Shimon Schocken about a CS course he co-developed called "Nand to Tetris". Over the course, students develop a full working computer system from the ground up, component by component from first principles.

There are some concessions though (if you could call them that) - instead of physically building these components, the students work through the exercises using a special software-based hardware simulator. As a result, students can through the course in a very modular way, and can experiment with how each of these components works.

Post-Picasa Replacements - Followup Notes #1

As a followup from yesterday's post/rant about Picasa things, I've started doing some digging around about ways to achieve the "Fill Light" technique, as well as started the process of auditioning potential replacement systems.

This will probably be the first of several post about this topic (though how many there will be I don't know yet), and will just be a way for me to keep track of my notes and findings about what works, what doesn't, and what may potentially be useful information.

Sunday, February 14, 2016

Impending Demise of Picasa

Today Google announced the imminent demise of Picasa - both the web albums AND the desktop tool. My short reaction is this: Booooooo! Not this again Google!

My second reaction (and perhaps the most important point of this post) is this:
It'd be great if Google could open source the desktop editing app - that thing has a lot of very useful stuff going on there that would be a shame for the world to lose.   (I know, it's a long shot for that to actually happen... but, it's better to have tried and failed, than to never have tried!)

Failing that, what I really actually care about far more are the answers to the following technical questions:
1) How do the 3 exposure correction sliders - "Fill Light", "Highlight", "Shadow" - actually work?   In particular, I'm most interested in knowing about the "Fill Light", since that's one of the tools I use quite heavily, but have been unable to find a full replacement for (not close equivalent, but exact replacement) in any other package I've tried to date.    (In fact, I'm seriously considering putting a bounty on getting source code + running binaries for an implementation of this tool, to be obtained using any means necessary - be it reverse engineering the relevant code, or R&D of a replacement, or perhaps just getting the original devs to secretly leak the relevant code snippets for the public good)

2) What is the format of the metadata used to store the sequence of edits that Picasa performs on each file? These metadata files are stored in each directory, and seem to use some kind of encoded/compressed representation of the sequence of operations + parameters that get applied to files.    (Knowing this will be important for being able to port the non-destructive edits made to large numbers of photos in my library to whatever future tools I end up using)

3) I wonder how its UI toolkit was put together - especially for handling the scrolling of the view, as well as the rendering + storage of all the image thumbnails.  There's clearly some nifty engineering going on here, but most of us will never get to find out how it was all done! :(

(If any of the original Picasa app devs see this, feel free to send a private mail to my GMail or Hotmail - aligorith - accounts with more details of how these things work. I promise that I will not disclose the details of who provided me with this information... given the likely NDA's that some of this stuff may be under :)


4) How can I efficiently duplicate all albums, their content, and all metadata attached to all of those to another online storage solution?  It's clear that I'll need to start looking for a better online storage solution for these things, as the new Google Photos seems critically flawed in quite a few ways :/

Tuesday, February 9, 2016

CNY2016 "Monkey" - Blender Bugs Retrospective

As usual, while trying to actually make some art with Blender, I came across a whole bunch of bizarre and sometimes nasty bugs which got in the way a bit. Since posting the video, I've begun investigating and fixing these - though in a few cases, it's not so straightforward to fix.

While some of these are the big usual suspects (e.g. it would be really great for poor draftsmen like myself to have "autocomplete" working, and the having the ability to parent strokes to objects/bones would really help for doing things like calculating motion paths), there were also a number of interesting "smaller" issues which came up repeatedly.

As this list was starting to get a bit long, I decided to split it out into its own post instead.

Monday, February 8, 2016

Happy Chinese New Year!

It's that time of the year again! Today is the first day of the Chinese New Year celebrations. As you may have guessed from the video above, it's the year of the monkey this year (following on from the year of the sheep).  Who knows, this may well be another very awesome year for Blender ;)

For fun, I put together a little short greeting video this afternoon using Grease Pencil. I'm still quite terrible at doing 2D animation - keeping characters on model, drawing them from more than a few "easy" angles, timing, drawing using a tablet, etc. - but I'm quite pleased with how this turned out!

Sunday, February 7, 2016

First Firefox Addon - "Toggle Autoplay"

This evening, I spent some time hacking together an addon for Firefox (and the first one I've built). Over the past week or so, I'd gotten increasingly annoyed by how certain video players (notably Vimeo's) were having some random playback issues when I've got autoplay disabled globally across the whole browser. The workaround for those cases is to turn autoplay back on while dealing with that page, and then disable again once done (so that the next page doesn't get any wrong ideas about causing a ruckus).

However, that's a PITA right now, as you have to open a new page, navigate to the user preferences page, navigate to the property, and only then can you change its setting. With no obvious way to just "pin" a setting to the toolbar, I was only left with the option of hacking together a simple addon to do so instead!

Wednesday, January 27, 2016

Pose Sculpting - Dev Update 2

To clarify any confusion, the previous post (about "bendy bones") is NOT Pose Sculpting. That said, I absolutely intend to do some experiments with combining the two later down the track :)

What then is Pose Sculpting? This latest update might give you a clue...

In this video, I demonstrate one of the latest sculpt brushes that I've been working on recently. While not quite the elusive "Draw Brush" that I've been seeking, this technique still very useful in its own right. (It's also provided me with a few ideas about how I might pursue the holy grail).

Then of course, there are still many other things which I haven't shown yet! There are quite a few nice new things that are present here that weren't around in the first version, along with a massive list of things I'm still planning on trying (no, I'm not going to post this... IMO, the techniques you've seen so far pale in comparison when some of the things I've dreamed up are functional <evilgrin>)

Dev Experiments - Pepeland's Improved Bendy Bones

Over the weekend, I've been doing some experiments with the bendy bone improvements patch (original code by Jose Molina) that pepeland demoed at BConf15. To remind you of what this is about, here's are a few screenshots of the patch in action:

Three bones showing off how the bendy bone settings work: 1) Curve X/Y properties, 2) Scale In/Out, 3) Roll In/Out

Each coloured segment is a single bone

EDIT: Just to clarify any confusion, this is NOT Pose Sculpting. That is a separate project. See this instead for the latest updates.

Saturday, January 23, 2016

OUI-Blendish - An interesting widget toolkit based on Blender's UI

I was just looking through one of my newsfeeds just now, and stumbled across a rather interesting little ui/widget toolkit that seems to have slipped under the radar till now. For everyone who's been whining about wanting about a Blender-styled widget toolkit they can use in their own projects, this may be what they've been waiting for!

Presenting:   Leonard Ritter's (Duangle)  "OUI-Blendish"

Friday, January 22, 2016

CMake + MSVC Frustrations - Solutions Wanted

It's been several weeks since Blender switched over to CMake. While some teething troubles while adapting to a new setup are to be expected, some are more disruptive than others... and it's usually these that are the ones that won't go away!

Having used this new setup for a few weeks, unfortunately, I have to say that there are a few quirks with this new CMake + MSVC setup which are currently very much inferior to my old setup with Scons + Mingw. (Part of the pain has been spared by the fact that I'm working on a pet project in a separate branch that I've purposefully left in a pre-scons-removal state... it will stay that way for as long as possible). If anyone is aware of any solutions to any of these problems, do let me know!

Summer Has Returned - Tonight's Sunset

After several weeks of windy/wet/overcast/chilly weather, summer finally returned today, with a high of 28 C (+ warm night), a colourful sunset, and another hot sunny day tomorrow with 30 C

Monday, January 18, 2016

Bubu Day