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.
The current release is 0.0.4.5p1, available as of . The changes since last release are:
- Reverse a previous change that prevents the help window from saving attributes (size, position, etc.).
- Fixes to the MSWindows binary installer, particularly regarding icons un/install.
- Patch p1 fixes build on old OpenSolaris.
The previous release was 0.0.4.4p5, available as of . The changes include:
- 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.
- 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.
- MSWindows binary installers:
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.
The marquetry sample is the first one rendered with the recently released POV-Ray 3.7, and some differences are evident.
Starting with release 0.0.4.4, 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 0.0.4.4p1 includes the source for this video as an example.
Finally, an animation using the technique described above, but with motion applied to the POV-Ray camera.