Skip to content

Xade Leonardo

As I was writing in the previous post I have decided on making a digital painting application named Xade Leonardo. Today most digital painting is done in Photoshop with Corel Painter and SketchBook Pro a distant second and third. All of these programs (especially the first two) have been around for a long time and are not really streamlined for todays hardware and working methods. I believe I can make a better application, suited for the 21:th century…

What I want to accomplish with Xade Leonardo over Photoshop in painting is what:
Silo accomplished over Maya in modeling or,
Mari accomplished over Modo in texture painting or,
Chrome accomplished over IE in browsing or,
Lightroom accomplished over Photoshop in photo editing.
In other words: A streamlined lightweight easy-to-use yet powerful application with minimum UI clutter.

Here is a list of some of my loose goals for Xade Leonardo:

  1. I will only will focus on the painting side of things as opposed to photo editing and vector based graphics.
  2. The feeling while working with Leonardo is the most important measure over how good it is.
  3. Leo will be designed around a Wacom Tablet. The artist should be able to lean back in their chair an never use the keyboard.
  4. Minimize chrome. Almost the entire screen should be the painting area. This will be accomplished with heavy use of pie-menus and an infinite canvas.
  5. The artist should never be forced to wait on anything. Initializing, loading, saving, complex filters etc. should all be handled as a background process.

Some of the more technical ideas that I have in mind (a lot of them are what I developed during the fall but converted to 2D):

  • Using a hybrid of a SDI and TDI application ala Google Chrome style.
  • Use Sqlite for the .leo file format and store everything as a quadtree with a BLOB for each node.
  • A Quadtree image format would allow for an infinite canvas.
  • Each tab in the xade UI corresponds to a module DLL. This makes it possible in the future to add a sculping module that can be opened in same instance of xade.
  • Leonardo is split in 3 parts: Client (collecting user input and rendering), Server (performing user commands to the canvas) and Database (file IO). All of these run in a separate threads.
  • The Server handles all image operations in a mipmap fashion and feed the Client what ever it has finished for the moment. This allows the client thread to never stall and always display a, although possibly blurry, representation of the canvas.
  • Rendering everything including UI with OpenGL.

Categories: Leonardo.