Google Summer of Code 2010
Hello, this is Mike. This summer I'm working on Blender 2.5's input handling system, focusing on Wacom's Intuos4 and 3Dconnexion's SpaceNavigator. Fret not, mouse & keyboard jockeys, there are a few improvements coming your way as well! I've set this page up to gather and publish notes about whatever I'm working on. There is also one spiffy download, a sign of things to come.
Reach me on IRC: significant-bit | #blendercoders | freenode
Notes
Programming Guide for Operator Hackers
Blender programmers have some new input events to play with! Getting these devices working, then exposing them for use in blender was my part. Read this and get started on our part: crafting more expressive tools.
Input Fidelity System Design
When sculpting or painting, you want the tool to follow your hand exactly. These tools are hungry for rich input, and I've been working on a way to feed them. I'm calling this “hi-fi” input.
High five for hi-fi!
Major goal reached: the pen now captures every nuance of your hand! Ok, so it's just on Mac OS right now, but Windows is starting to cooperate as of late. Good things are coming.
NDOF System Design
Blender 2.5's NDOF support is getting an overhaul for better SpaceNav support. See what I have planned. And if it's awful, stop me before it's too late! (That's my way of soliciting feedback.)
SpaceNav + Apple (updated!)
Finally got the SpaceNavigator working well on the Mac. Next step: feed live input into blender. Next next step: implement Windows and Linux support. If you have an Apple and the SpaceNav device (or one of its fancier cousins), try this demo.
Intuos4 OLED + Linux
One of this project's goals is to enable tablet users to keep their hands on the tablet more of the time. The main enablers are Wacom's “ExpressKey Displays” that tell you at a glance what each button does. I've been learning how to update these on the fly, so that you have an appropriate set of tools for your current task within blender. Here's what I've learned:
- On Mac OS, send specific AppleEvents to the Wacom driver.
- On Windows, use the Wintab 1.4 extended functions.
- On Linux… give up (for now).
A resourceful user had patched OLED support onto the Linux Wacom Project, but the method used is deprecated in recent kernels. In short, this feature will be for Mac and Windows users only, until Intuos4 features are fully exposed.
CPU Envy
My time on this project is split between home and the university's graphics lab. The other night I discovered that the workstation to my left is ridiculously powerful. This thing has a 4-core 3GHz Xeon, 12GB of memory, Quadro FX 5600 with its own 1.5GB of memory. I whipped up a simple scene in Blender which renders to 1080p in 13.5 seconds. My trusty PowerBook took almost 4 minutes rendering the same file.
SpaceNav integration
To get the SpaceNav working in Blender 2.4x, you download a plugin. There's a Mac version and a Windows version (naturally). My first task is to get the device working for the upcoming 2.5 release. I'm almost finished on Mac OS. Are plugins even the way to go? A much larger task is to make the SpaceNav more useful during various tasks.
Relationship between pen and mouse input
These thoughts came to me while working with Blender, looking for a way to dispatch an “erase” event from the tablet pen to the grease pencil tool (gpencil for short). In short, there's currently no clean way to do that.