techne man page

techne — A general purpose, programmable physical simulator and renderer.

Synopsis

techne [OPTION...]

Description

Techne is a general purpose, programmable 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 onscreen.

Options

-h, --help
Display a help message.
-c FILE, --configuration=FILE
Include FILE into the list of sources that are going to be executed by Techne at start up. Multiple -c options can be used to specify any number of source files.
-O OPTION[=VALUE], --option OPTION[=VALUE]
This defines an option with name OPTION and value VALUE. The meaning of the option itself depends on the executed program, Techne simply defines it. If VALUE is left out it defaults to "true". Multiple -O switches can be specified. If more than one -O switches specify the same option the value of the option is set to a table of all specified values.
-e, --engineering
This instructs Techne to skip the rendering stages of its loop and only perform simulation which can speed up execution when the running program is performing unattended experiments or other computations.
-m, --mute
Disable audio rendering.
-d DEVICE, --device=DEVICE
The index of the audio device to open. To get a list of valid audio devices and their indices specify list as the device to open.
--name name --class class
Specify the application window's WM_CLASS property. This options helps the window manager identify which application name and icon to use for this window. Usually if the application's name is Foo and there is a foo.desktop file installed the name should be set to `foo' and class to `Foo'.

There are a few options that can be specified through the -O switch that are interpreted by Techne itself. Of use to the end user might be:

noarrays, nobufferobjects
Don't use vertex arrays or vertex buffer objects respectively. This is mainly useful if buggy drivers are giving you trouble with these features.
poweroftwo
Scale all specified textures internally so that they have power-of-two side lengths. Again this is only useful to circumvent driver bugs.

Scripts

Some scripts are provided in the Techne distribution that are likely to be of use while programming or using an application. They're executed like all scripts the only difference being that you don't have to specify a full path. So far the following scripts are available:

base.lua

This is just a basic script that you can use to set up a useful default configuration for some other script. It is therefore not of much use on its own and was meant mainly to facilitate prototyping and as a base on which example code can be run. So if you've written a script called prototype.lua in the current working directory in order to try out some neat idea you can run it like this:

techne -c base.lua -c prototype.lua

This will setup the simulator and renderer with some generic values which your script can later override at will and also set up some useful key bindings and options. Currently you can use q to quit, p to pause and resume simulation and specify the framerate option to obtain a frame-rate gauge.

export.lua

This script can be used to export media like textures or geometry meshes back into standard file formats that can be loaded and edited in existing software. It was written to facilitate the reuse of the datasets that are bundled with applications by others.

When executing it you need to provide two options, the input and output files. The input file can be any mesh, polyhedron, texture or wave script either compressed (ending in .lua) or uncompressed (ending in .lc). The output should be the path to some file name where the exported data is to be written. The script automatically determines what kind of data it is dealing with and exports it into a form that you can use with existing free software. Geometry meshes are exported into Wavefront OBJ files, textures and other imagery are converted into PNG image files while wave data is output as raw 16-bit unsigned monophonic samples at the sampling frequency of the input data. This frequency is printed at the end of the conversion process so you can use an external tool (such as SoX) to play or convert the data into any other form.

As an example you can convert Aviation's tachometer face texture into a PNG image file (assuming Aviation is installed in the default location) with the following command:

techne -c export.lua -Oinput=/usr/share/techne/aviation/imagery/tachometer.lc -Ooutput=/tmp/foo.png

Documentation

Techne currently lacks a proper reference manual. If you're thinking of using Techne for your own project please post a message on the techne-users mailing list. If you need to hack one of the derivative products direct your messages to the respective project mailing lists (e.g. billiards-users, aviation-users, etc.). It can only be hoped that public interest will motivate the author to allocate more time to the documentation of Techne.

Bugs

Please report any bugs you find on the techne-devel mailing list or use the bug tracker in Techne's project page <http://savannah.nongnu.org/projects/tec…>.

Author

Dimitris Papavasiliou <dpapavas at gmail dot com>

See Also

techne-browser(1), billiards(6), aviation(6), airrace(6),

Referenced By

billiards(6), techne-browser(1).

November 2010 Linux