Sunday 27 September 2009

Switching to freeglut

As you may know if you follow ExeSketch's launchpad page, I recently decided to use freeglut instead of GLUT for the project. As luck would have it, the process of switching over only really involved replacing a few '#include's - although I had to rename several of my constants as they apparently conflicted with freeglut ones.

This means I can now process events like turning the scrollwheel on the mouse, or click-dragging with a modifier key held down - events which were
inexplicably missing from GLUT. However, it turns out GLUT is actually about ten years out of date, so I suppose scrollwheels probably didn't exist when the last GLUT version was released.

In other news, Bézier curves are well and truly on their way! I finally got some code written today, which includes all the drawing functions, some basic event handling, and a sufficient helping of behind-the-scenes faffery. Here's a screenshot:

More next time!

Friday 18 September 2009

Well, it wasn't

Last post I mentioned that this week would probably be a quiet one. Well, fate felt tempted and assailed me with a week so copiously endowed with commitments that it ended up being the least productive week ExeSketch has seen so far. So I'm going to have to apologise again. However, all of the open days are now done and the personal statement for university is getting there, so I might be able to stop messing about in the real world and get a Bézier class up and running soon. Until then, cheerio!

Saturday 12 September 2009

It's excuse time!

Why, you may cry, are the posts so elusive? Well here's an excuse, hopefully not too obtrusive:
School again. Well, this time it's not so much school as the preparation for leaving it: I've been spending a lot of time messing around at university open days (descending on unexpectant cities and causing trouble) and attempting to write a personal statement for applications (playing Tetris and occasionally glancing over at the empty OpenOffice document with a slight twinge of impending doom), and naturally this has slightly impeded my posting prowess.

It's also caused a stagnation in the ExeSketch production line; you may have noticed that the recent commits have mainly been small feature additions and bugfixes. However, do not fear for ExeSketch. My solution is simple: the Bézier milestone shall have to be pushed back by one week, which (shoddy though it may seem) will provide ample time for me to get a perfectly functioning Bézier object working. How can I guarantee this? I can't - I'm the least reliable target-setter on the face of the blogoweb. But next week will probably be a (comparatively) quiet one, and so by setting myself this extended deadline I will hopefully encourage myself to actually get the thing done.

Until then, goodbye!

Thursday 10 September 2009

Icons make programs who they are

Wh00t said I as I finished this little Logo/Icon for ExeSketch. The only thing that made me pause was the lack of any polished surfaces, but then I realised that shiny does not require polished surfaces, a nice matte finish can be just as shiny. So Here I present to you the first Logo of ExeSketch. I have a feeling that the logo might get an update at the first big release, but only time can tell...

Saturday 5 September 2009

New demo video! (Slightly belated...)

Greetings once more! Apologies for the prolonged absence, other commitments got in the way of updating this blog (they also stole my lunch money). Today I arrive with a video in tow; yes, it's the new ExeSketch demo video:

ExeSketch Demo 3 from Animatinator on Vimeo.

So, what's new? Well, I've mastered the Sony Vegas 'Light Rays' effect. And I've still not had to illegaly use a piece of commercial music in any of my demo videos (the "Animatinator 2008" folder is serving me well). But what of ExeSketch?

Well, to begin with, all three of the "basic-objects" objects are in (Rect, Polygon and Circle), and working rather nicely. More significantly, however, the program has gained the beginnings of an interface: the shape that will be added on right-click can be selected from a little menu on the left, with spiffy icons drawn by James the Graphics Man (and made pixellated by myself and OpenGL - I intend to fix this, however). This menu is fully customisable (from within the code, anyway) - it can be any size, hold any number of buttons, of whatever size and spacing you (the programmer, that is) feel like applying, and it can run either horizontally or vertically. Its position can also be set, which could potentially allow for draggable menus (although James is advising me against that).

Since the release I've updated the object menu further to turn it into a generic ButtonMenu class which can be used for any selection of radio buttons (ie a list of buttons from which just one is selected at all times), and so it could also be used for creation of a menu that switches between the object view and editing modes, or changes how an object is drawn (alternating between fill, wireframe and points).

And now, with the "basic-objects" release done, the next significant milestone is the implementation of Bézier curves. Which might prove tricky, given that Bézier code made up most of the original CurveDraw source code. But this time, I have the advantage of knowing what I'm doing (or at least being more sure of it than I was last time).

Thursday 3 September 2009

Getting rolling

Today I am proud to announce that the first release of ExeSketch is now complete! You can download it here. A demo video should be done shortly, at which time I shall post it here also (hopefully it'll make up for the rushed brevity of this post).