Epspline (as in Edit-Povray-SPLINE) is a utility for POV-Ray users: a simple 2D graphical editor of “lathe” and “prism” objects. Using the wxWidgets library, Epspline is portable. It runs on (at least) OpenBSD, NetBSD, FreeBSD, GNU/Linux, OpenIndiana (and OpenSolaris), and MSWindows. It should potentially run on any platform supported by wxWidgets. A minor porting effort might be needed for systems not mentioned above. The source code should build easily on the Unix-like systems mentioned above (see ‘INSTALL’ in the source). Building for MSWindows is supported using MinGW on either a Unix-like system or under Cygwin (or MSYS) on MSWindows (this is also discussed in ‘INSTALL’). Documentation is included: both as source, and pre-built as a zip file for the help viewer, because the requirements for building the documentation might be difficult to meet (the main requirements are a recent TeX Live installation, and a POSIX Bourne shell under a Unix-like system). The downloads include binary packages, 32 and 64 bit, for MSWindows.

Current Release

The current release is, available as of . The changes since last release are:

  1. Reverse a previous change that prevents the help window from saving attributes (size, position, etc.).
  2. Fixes to the MSWindows binary installer, particularly regarding icons un/install.
  3. Patch p1 fixes build on old OpenSolaris.

The previous release was, available as of . The changes include:

  1. Enhanced the tabbed interface: now if several files are open, a tab may be dragged to the bottom or edge of its client area, and the tab window will split into a new tab window. (By “enhanced” I only mean changed a constructor argument that I missed previously.) This is not yet described in the documentation, but you’ve read it here.
  2. Fixed a crash bug that only occurred at exit (so it was difficult to notice). This was not a show-stopper, but now it’s not at all.


POV-Ray Links

Epspline is not useful without POV-Ray. Good news: POV-Ray 3.7 was released on November 8, 2013, and it is now licensed under the AGPL. Download POV-Ray here.


A few samples are included with Epspline, and a few of those are shown as images below. All the objects in the samples are composed of POV-Ray prism and lathe objects edited with epspline, with only the obvious exceptions of planes for backing surfaces and light sources and camera. In the chisels sample, ‘constructive solid geometry’ is used to finish the blades, but the CSG ‘grinds’ are made with prisms. (The sample images are not meant to be works of art. At the POV-Ray site there is a Hall of Fame section where awesome works by real artists can be viewed.) A note on the header-image of this page: as with the samples, all objects are lathes and prisms (with the same exceptions), including the the text objects “Epspline” and “POV-Ray.” The source package (included in the MSW installer) includes a simple command line utility, named t1char2pse which takes character and text arguments and a type 1 font argument, and uses FreeType to produce an Epspline file (extension .pse). Only type 1 fonts are supported but there are conversion programs — “Epspline” in the header image is from an originally TrueType font, converted to type 1 with ttf2pt1-3.4.4. t1char2pse is not built and installed by the Makefile in the source package, nor is a binary included with the MSW install program. It is included as source in the ‘utils’ subdirectory of the source package, and must be built by hand. The source file ‘utils/t1char2pse.cc’ has build instructions within comments near the top of the file. Although POV-Ray makes text easy with an SDL ‘ttf’ object type, characters converted to an Epspline file can be edited. The samples follow.

Chisels composed of POV-Ray prism and lathe objects
Chisels composed of POV-Ray prism and lathe objects
Oil lamp
oil lamp
An oil lamp composed of prism and lathe objects
Plate holding ornaments
Plate holding ornaments, composed of POV-Ray lathe objects
bird marquetry image
A marquetry project at an early stage

The marquetry sample is the first one rendered with the recently released POV-Ray 3.7, and some differences are evident.

Editing the chisel handle imprint with Epspline
Editing the chisel handle imprint with Epspline

Starting with release, Epspline will display a background image to help draw curves. The next example is a video made with POV-Ray, showing a small object (vermin?) moving around a generated board. First, the board alone was rendered, and then that image was used as a background image over which to draw a ‘path’ as a beziér curve. The curve was set in Epspline as the ‘undefined’ type which actually exports the control points as an array. Macros were then used to interpolate the path for each frame (similarly to the POV-Ray spline feature), and position the object. Epspline includes the source for this video as an example.

Path traced over background image

Finally, an animation using the technique described above, but with motion applied to the POV-Ray camera.

Animation using splines for several scene objects and one for the camera path

7 thoughts on “Epspline

  1. Is there a way to manually enter points for a spline?
    It would be very helpful to be able to copy and paste array or spline information into the program in order to create a spline to be edited.

    1. Thanks for asking.

      No, points cannot be hand edited now, except by hand editing the text .pse files.

      I have a long TODO list, which includes the ability to accept spline definitions from POVRay SDL, either from a file or clipboard. But, there are many features that would be helpful, some of which might be more important.

      I have not had time to work on Epspline so far in 2014, but your feedback will at least add weight to the idea of such a feature, when I can spend time on it.

  2. Hi Ed, I just posted a helpful trick in the POV-Ray forums:


    I get a little bit of unexpected behaviour from the lathe I just drew, but I’m sure I’ll hunt down the problem and learn how to use this tool more productively.

    I was laying out a sphere sweep recently – is there a way to use EPspline to generate and preview things like that? I wound up using Excel to visualize the points with a graph, just because I was doing some other things that I wanted to spreadsheet out – it might be a useful temporary workaround to export to a comma-delimited text / spreadsheet format for hand-editing spline info. Just a thought.

    1. I’ll post replies to your thread on the POV-Ray newsgroup too.

      Epspline will only preview the lathe and prism types, but the points data can be exported as an array object by selecting the ‘undefined’ type in the properties dialog for that object. This array data might be helpful with (2 dimensions of) a sphere sweep.

  3. One thing I’ve noticed a few times when trying to go back and edit a file – it opens the file, and all I see is a small box in the upper left hand corner, which seems unresponsive to clicking. Closing EPspline and restarting opens the file in the usual view. I’m not sure if this is a big of some sort or a “mode” that I don’t know how to manipulate – have you seen this behaviour?

    1. No it’s not mode. I saw that a couple of times in the MSWindows build running under wine under GNU/Linux only in an older version using an older wxWidgets.

      You did not say what OS you have or whether you have the latest Epspline. The first public release was, and was released in December.

      IAC I have just made a patch release available; please use that.

      The Epspline page.

  4. Thanks Ed!
    More in the POV-Ray thread.
    are the links to the patch executables broken? I clicked on both the 32 and 64-bit versions to check, and they don’t seem to work for me.

Leave a Reply

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