Sep
25

Balthasar Week 2 Report

By Eric Shull  //  Blog Post  //  1 Comment

In a post a couple of weeks ago, I mentioned setting up a new GoogleCode project. I’m happy to say that Balthasar is coming along nicely. For details on what Balthasar is and how to get involved, read on.

Background

I’d been hunting around for a widget library that would let me do stuff in 3D, but without luck. I knew OpenGL could do some things, but trouble picking objects with the mouse created roadblocks. Persistence, though, actually does pay off. Using Pyglet, I’ve built a library for interacting with 3D objects. I call it Balthasar, named after the turtle that lives in our kitchen sink, whose was named, in turn, after a judgmental terrapin.

What It Does

Right now features are sparse, but that’s not to say it can’t do some very important things. In fact, I got bogged down this week trying to get panning over a 3D scene to work intuitively. I can’t say it’s perfect yet, but it’s much better than earlier attempts and good enough to leave be for now. On the other hand, orbiting the camera around its target works brilliantly! (I’ve never found spherical coordinates to be so useful.)

The other major feature from the client’s perspective is the ability to create Widgets, 3D objects that can be selected. One nice thing is the ability to load .obj files, meaning one can (currently) create widgets of whatever size and shape in a program like Blender, export them as .obj files, then load them in a Balthasar app. This is significant since one of my big motivations is boredom with the plainness of standard widget libraries.

From the client side of Balthasar, there seem to be quite a few decorators. They’re used for changing an application’s event handlers and add drawing routines to the list of things to draw.

Examples

I’ve had a few applications in mind that I’ve wanted to make, and I’m developing them using Balthasar. The examples are a major driving force behind improvements to Balthasar’s library and client interface. So far the only example is solar, a solar system simulator based on actual planetary data. Because I wanted to be able to move around within the scene, camera orbiting and panning became important. Thus, those features are now in Balthasar.

I’ll be developing a few other applications as well, hopefully developing the widget part of ‘widget library’. I’ll include them in the trunk under examples.

Getting Involved

There are a few ways to get involved with the project. One way is the Google Groups discussion. Another is on Twitter, where I’ve started using the #balthasar hashtag when I make comments about the project. If you have any interest, I’d be happy to have your help, so drop me a line if you want to know more.

  • Digg
  • del.icio.us
  • Facebook
  • Google Buzz
  • Google Reader
  • Reddit
  • NewsVine
  • RSS
  • Twitter
  • Technorati
  • StumbleUpon

1 Comment to “Balthasar Week 2 Report”

Leave a comment