Techne

overview · features · lua modules · requirements · documentation · downloads · mailing lists · bugs · author · license · research · project page

Overview

Techne is a general purpose, programmable, interactive, physical simulator and renderer. It reads in a set of scripts wherein every aspect of a physical system is specified and then proceeds to simulate and render the system in real-time. This is the general idea. The main goal is to decouple computer programming, in its involved low-level form at least, from digital art creation, shifting effort away from worrying about graphics library quirks and memory allocation and towards understanding and modeling the physical and aesthetic aspects of a given system.

The statement above probably sounds like marketing hype but overviews need to be kept short. If you're interested in a more involved description of what Techne tries to achieve you may find one here.

Features

Techne is actually not much more than a simple framework on which physical models can be integrated and whether it will be able to achieve its goal of being 'general-purpose' depends on this framework exactly which should be able to seamlessly accumulate diverse models having to do with mechanics, sound or shading and lighting for example without reducing the application programmer's creative freedom.

So far the following models have been integrated into Techne and put to use in developing the first three applications Billiards, Aviation/Airrace and Slipstream:

Lua modules

Some functionality that is required as an integral part of Techne may well be of general utility, so it has been factored out as general-purpose Lua modules. Suggestions, bug reports and any kind of feedback regarding these is of course welcome and can be directed to Techne's tracker or, alternatively, to my personal e-mail.

A brief list of the modules follows but you can find more information in their separate pages by following the links.

Requirements

Hardware requirements depend on the models employed but you'll generally need a GPU with decent OpenGL support. It should support GLSL shaders (the GL_ARB_shader_objects, GL_ARB_vertex_shader and GL_ARB_shader_objects extensions) framebuffer objects (GL_EXT_framebuffer_object) and vertex buffer objects (GL_ARB_vertex_buffer_object). These capabilities are common even among cheap and relatively old GPUs so that I consider it reasonable to use them as a bare minimum.

Due to the current state of GPU drivers in the free computing world there's also a toon-style cel shader which should work on all hardware with any kind of OpenGL support.

In terms of software you you will need a POSIX-ish operating system with graphics acceleration support. I've only tried it on Linux (Debian and Ubuntu) but it should also work on FreeBSD I suppose. It doesn't run on Windows at the moment, sorry. If there's anyone willing to port it, let me know and I'll offer any assistance I can.

On top of that you'll need the following libraries:

Documentation

I'm in the process of writing a manual for Techne but the amount of features that has accumulated coupled with the fact that I don't anymore remember exactly how some of these work make this task somewhat difficult. Popular demand might convince me to speed things up though so if you're considering to use Techne for a project be sure to let me know.

Downloads

The latest release of Techne is 0.2.3, released on May the 21st 2012. This release includes better terrain tesselation and shading which is needed for Slipstream 0.2.

Filename Size Description
techne-0.2.3.tar.gz 12M Source tarball
i386/amd64 Debian packages
techne_0.2.3-1_amd64.deb 12M Debian unstable/sid package
techne_0.2.3-1_i386.deb 12M Debian unstable/sid package
i386/amd64 Ubuntu Natty packages
techne_0.2.3-1ubuntu1_amd64.deb 12M Ubuntu Precise Pangolin package
techne_0.2.3-1ubuntu1_i386.deb 12M Ubuntu Precise Pangolin package

Older versions can be found here.

Mailing Lists

Discussion on the various matters concerning the development and usage of Techne can be carried out in the techne-devel and techne-users mailing lists respectively. Please use these instead of my personal e-mail address for matters that might potentially be of interest to other users as well. Also remember to use the support tracker if you're having trouble getting Techne to compile and run properly.

Bugs

Techne has been changing constantly for some time now and therefore parts of it are bound to be incomplete or buggy. If you're having trouble compiling, installing or using Techne please submit a bug report using the support tracker at the project's home page which can be found by following this link. Also please search or browse the tracker first to make sure your bug hasn't already been submitted by another user.

Author

Dimitris Papavasiliou

License

Techne is released under the terms of the GNU General Public License.

The manual is distributed under the terms of the GNU Free Documentation License. See the appendix for details.