Resurrecting Jot

You may be wondering who Jot is, and how I’m going to go about resurrect him or her? Of course, the question is not who Jot is, but what Jot is?

Back in 2002 there was a presentation by some talented people from Princeton University of a very interesting stylistic renderer at Siggraph. The images and videos they showed looked fantastic. Here was a renderer that could make your animated 3D models look like charcoal drawing or Greek vases in real time and with great artistic control.

But rather than I tell you about it, you can see for yourself.

As to resurrecting Jot, that is somewhat of a bigger task. In 2007 the source code for Jot was made open-source and posted here. As far as I can tell there has been no active development on it since 2007, or maybe even earlier, but luckily the compiled 32-bit Windows version of Jot still works, even on a 64-bit Windows 8 system and under Wine on Linux.

Wanting to see if I could get it to run natively on Linux, I downloaded the source code, and found there were lots of references to both Linux and OS X in it. While I’ve dabbled in quite a few scripting and programming languages through the years, I’m not much of a C++ coder. I tried getting Jot to compile on my 64-bit Ubuntu machine, but got stuck with integers loosing precision when being cast to different types (probably because int on 32 and 64 bit system behave differently). I’m sure it’s a relatively easy problem to solve for someone who knows C++, but the source code for Jot is not the easiest place to start for a complete n00b C++ developer like me.

Having failed miserably at getting Jot to run natively on my Ubuntu box, I decided to take a different approach. Since Jot came out ages ago (in computer time), the exporters that came with it were long out of date, so there was really no way of getting your models and animations into Jot, unless you happened to have an ancient version of Lightwave lying around. And there is really only so much fun you can have with the dancing cactus that comes with Jot, so I decided to try to write an exporter of my own. I mean, how hard can it be.

I dug into the Blender Python API, the Jot documentation and the .jot sample files, and began coding away. Blender was the obvious choice to make the exporter for, as it’s open-source and has a vibrant community of both artists and developers around it. Surprisingly quickly I had a copy of Suzanne up and running in Jot. After some further hacking away at the exporter, I now have a  working Jot Exporter for Blender. It supports meshes with modifiers, camera and animation, and can updated meshes without messing up the annotation you’ve done in Jot.

The next step is really up to you. If you’re an artist, try it out and make some cool stuff with it. While I may eventually find the time to learn enough C++ and math to keep working on Jot myself, it’s not extremely likely. So if you’re a developer that finds Jot fascinating, and have the time and skill, please get in touch. It would be very cool to see some of the technology from Jot integrated in Blender or Freestyle, or to see Jot itself come to live again.

“The report of my death was an exaggeration.” – Mark Twain

April 1, 2013

13 responses to Resurrecting Jot

  1. Petr said:

    That’s great. I look forward to test it on my computer. On my netbook it’s unusable because the buttons of the Jot renderer redraw extremely slowly. Hopefully there is a future for the Jot renderer because it seems to be a very useful peace of software…

  2. Nick said:

    Excellent stuff! been using Blender and will give this a try – thanks!

  3. Jikz said:

    Yes please! In fact we are trying to see if it is feasible to implement JOT-like features into Freestyle for Blender. There is requests of having Grease Pencil as strokes come into play. It would be very exiting to integrate these all into an epic mash of Blender goodness somehow!

    • admin said:

      Cool. I’m looking forward to Freestyle getting integrated in Blender’s main branch. From reading the developer notes, it seems like it’s just around the corner.

      Thanks for linking to http://blendernpr.org/ , I actually didn’t know about that site.

      • Jikz said:

        I own blenderNPR.org please don’t be a stranger to it! 😀 We are always looking for more material to post, as we are dedicated to great NPR Blender material!!

  4. Hammers said:

    Wow – I’m gonna try this with Wine on OSX now. This is just what I’ve been wanting for years. This would be amazing if it could be more integrated into Blender, through Freestyle or otherwise – please keep up the good work!

  5. bawboh said:

    Very cool! Saw jot in action years ago and had forgotten about it. Nifty tool. Gotta love opensource academic code.

    I went and grabbed the source and have been mucking with it for the few days. It’s kind of a mess. I’ve corrected a bunch of stuff, but theres I’ve a bit more to go.

  6. bawboh said:

    I should say that the ‘mess’ appears to be due to not getting ported as gcc matured, thus stranding the code.

    I’m curious how difficult it would be to integrate the corebits into blender as a node?

    Thanks for the link to blendernpr.org

    • admin said:

      It would be cool to see the core-bits integrated into Blender, but I’ve no idea how easy or hard that would be.

  7. Wing Wong said:

    Wow, JOT looks amazing.

    Yeah, attempts at compiling the code on a Mac OS X box is throwing all sorts of errors. Kinda applying fixes as the compilation breaks at different points.

    Having this be integrated into Blender would rock.

  8. Troy Robinson said:

    Just wanted to say this is really great stuff. The line control is so much better than anything else I’ve used.

    One request if you are still working on this. Jot appears to use the Y axis as up instead of Blender’s Z axis up. Would it be possible to add this to the exporter? Currently it is a bit difficult to orbit the scene in Jot unless I manually turn my scene before exporting.

    Thanks!

    • admin said:

      I hope to find some time later this summer to look a bit further into Jot, so I’ll definately look into it.

      I haven’t had the time to actually use Jot much since I wrote the exporter. 🙂

  9. Jot by itself generates some intriguing examples, I will try the Blender exporter soon.Some aspects of this need to be integrated or combined with Freestyle. I really like the temporal coherence aspect and more fluid, artistic line qualities, along with the LOD aspect of the lines in animation. Great stuff. Too bad I don’t know any C++ also. Python?? anyone.
    If there are updated libraries to work with Blender 2.70 please let us all know.

Leave a Reply

Your email address will not be published. Required fields are marked *