October 2007

Some fundamental changes – I went back to Blender’s Math libraries, because I discovered that matrix multiplication was almost three times faster than cgkit!  I briefly considered using numarray, but its performance seemed to be even worse.

What does this mean?  It means that Pantograph isn’t porting to Maya until I find a fast, portable matrix math library.

New features:

  • using convex meshes to perform cutaways: you can use a convex mesh to remove parts of your mesh to produce a technical cutaway or architectural section.
  • optimized SVG files – fills and similiar linetypes are combined

two monkeys


I just found out that cgkit is actually doing its matrix multiplication in Python, not as a C extension.  Sheeeshh…

Taking a look at using Python OpenGL – I don’t have time for this!

There’s nothing like impending mid-terms to spur coding…

…I think I’ve got down a good culling routine that should cut down the number of polygons going into the expensive BSP tree.

Sorry, no fun pictures!

I finally implemented the ability to use convex meshes as boolean cutaways (or vignettes):

monkey cutaway

I picked up a book in the bargain bin a few months ago, “AK-47: The Weapon That Changed the Face of War”, because I thought that I had heard the author interviewed on WNYC. I don’t know if its the same book – it seems to be written more for in “Newsweek” than a “New Yorker”. (Such a snob I’ve become!)

I’m fascinated with the parallels with Linux, however – open-source (or at least unprotected IP), incremental development, a reputation for being ugly but indestructible. The AK-47 seems to have thrived over the years because it was simple and unbreakable enough to be used by a child, the lack of IP protection meant the design could modified according to local manufacturing processes.ak47

What does this mean for the future of the Linux Desktop? Putting aside the horrific legacy of the AK-47, what lessons could be learned? I think the future for Linux is really in the developing world, and Microsoft knows this (look at the battle over the OLPC). I think the future lies in ubiquity – situations when the user is not aware or does not care that they are using Linux. I think Linux could deliver the seamless, bulletproof experience that Windows and Mac claim if we started to think of the desktop more like an embedded application. Focused user environments with limited scope. Fast, cheap, and (in/out?) of control.

I guess the big question is whether this is a Linux that any of its current users would ever want to use?

I was in Istanbul recently, and when I went to check my email on the hotel computer, I was suprised to discover they were running Linux. It made sense – greater security, and all it really needed to do was surf the web. I asked my wife later (we’ve been having an extended…discussion…over switching the home computer to Linux recently) whether she had noticed that the hotel computer was not running Windows, and she hadn’t.

I’ve got the optimization working with fills and polylines – almost!

There’s still a pesky problem with some missing line segments, and the polylines aren’t joining together as much as they should.

For the SVG-curious (I am wishing that WordPress could display SVG files…):


Alan Murta’s General Polygon Clipping Library is excellent, and fast!

A few changes look to be happening to Pantograph:

  1. I realized that Total Polygon Optimization rules out polygons with any alpha. Who needed it, anyway? That’s what hidden lines are for.
  2. Without alpha, I can discard hidden polygons before they go into the BSP tree, which should help speed considerably.
  3. I think I figured out how to hack an ugly polyline optimization algorithm out of the Polygon Clipping Library (it only works on closed regions). The code is written – I haven’t had time to run or debug it. Maybe this weekend.

So – more speed, much smaller files…

GPC, btw, is at http://www.cs.man.ac.uk/~toby/alan/software/

struwel peter