TaoClassic

Last updated
Tao Classic
Original author(s) Laszlo Merczel
Stable release
3.0-alpha / January 27, 2013;5 years ago (2013-01-27)
Written in C#
Type Software library
Website tc.insaneidea.hu

The Tao Classic is a C# library giving .NET and Mono developers access to popular graphics and gaming libraries like OpenGL and SDL. Tao Classic is the direct continuation of the abandoned Tao Framework open source project.

C Sharp (programming language) Multi-paradigm (object-oriented) programming language

C# is a general-purpose, multi-paradigm programming language encompassing strong typing, lexically scoped, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed around 2000 by Microsoft within its .NET initiative and later approved as a standard by Ecma (ECMA-334) and ISO. C# is one of the programming languages designed for the Common Language Infrastructure.

Mono (software) computer software project

Mono is a free and open-source project to create an Ecma standard-compliant .NET Framework-compatible software framework, including a C# compiler and a Common Language Runtime. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. The stated purpose of Mono is not only to be able to run Microsoft .NET applications cross-platform, but also to bring better development tools to Linux developers. Mono can be run on many software systems including Android, most Linux distributions, BSD, macOS, Windows, Solaris, and even some game consoles such as PlayStation 3, Wii, and Xbox 360.

OpenGL application programming interface for rendering 2D and 3D vector graphics

Open Graphics Library (OpenGL) is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. The API is typically used to interact with a graphics processing unit (GPU), to achieve hardware-accelerated rendering.

Design philosophy

The original design behind Tao Framework was quite simple: to provide a set of APIs which resembles the original C-based library interfaces as much as possible. Tao Classic is no different - the goal is to make porting application from C/C++ as easy as possible. Even if it means that there will always be other APIs out there, which will make coding more "OOPish", the above mentioned core design disciple of Tao Classic probably won't ever change.

The Tao Framework is a C# library giving .NET and Mono developers access to popular graphics and gaming libraries like OpenGL and SDL. It was originally developed by the C# OpenGL programmer Randy Ridge, and since its start many developers have contributed to the project. The latest version of Tao is version 2.1 released on May 1, 2008.

Supported OSes

In current alpha phase, the project supports 32 and 64 bit Windows and Linux, but Linux builds are not publicly available yet.

In the end (probably for the first stable "3.0" release), the plan is to support the three OSes supported by the original Tao Framework - Microsoft Windows, most Linux distributions and Mac OS X.

Versioning

The original Tao Framework was dropped at version 2.1. As a reminder about the fact that Tao Classic is a continuation of an old project, its versioning has been started at version number 3.0 (to also mark a clean slate). Also, within Tao Classic, there are several subcomponents - one for each wrapped library -, which also have their own version numbers. The version number of these subcomponents is the same as the version number of the library they are wrapping. E.g. 4.3.0.0 for Tao.OpenGL, which provides OpenGL 4.3 bindings.

Current bindings

Tao Classic provides bindings for these libraries:

Cg is a high-level shading language developed by Nvidia in close collaboration with Microsoft for programming vertex and pixel shaders. Cg is based on the C programming language and although they share the same syntax, some features of C were modified and new data types were added to make Cg more suitable for programming graphics processing units. This language is only suitable for GPU programming and is not a general programming language. The Cg compiler outputs DirectX or OpenGL shader programs. Since 2012, Cg was deprecated, with no additional development or support available.

Developer's Image Library or DevIL started by Denton Woods, is a cross-platform image library which aims to provide a common API for different image file formats. It consists of three parts: the main library (IL), the utility library (ILU) and the utility toolkit (ILUT), mirroring the corresponding parts of OpenGL.

FFmpeg multimedia framework

FFmpeg is a free software project consisting of a vast software suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the FFmpeg program itself, designed for command-line-based processing of video and audio files, and widely used for format transcoding, basic editing, video scaling, video post-production effects, and standards compliance. FFmpeg includes libavcodec, an audio/video codec library used by many commercial and free software products, libavformat (Lavf), an audio/video container mux and demux library, and the core ffmpeg command line program for transcoding multimedia files. FFmpeg is published under the GNU Lesser General Public License 2.1+ or GNU General Public License 2+.

Project status

The project started in late December 2012, so technically it's in an early phase ("alpha"). Development is constantly ongoing since then, currently done by a single developer. For now, the "release candidate" phase is planned for second half of February.

Licensing conditions

Tao Classic is open source software, licensed just like its predecessor, under the conditions of the MIT license.

References