PHIGS (Programmer's Hierarchical Interactive Graphics System)
PHIGS is an API standard for rendering 3D computer graphics. During the 1990's OpenGL became a more popular 3D API for professionals, and it still is today. PHIGS remains to be widely used in the film industry. Open PHIGS uses OpenGL for rendering graphics rather than implementing it's own abstraction layer to the graphics hardware, or using the PHIGS Extension to X (PEX). The reason for doing so is that today every graphics card manufacturer provides their own OpenGL implementation, which takes full advantage of the accelerated drawing capabilities in the hardware. PHIGS is a higher level API than OpenGL that works with a hierarchical scene graph. Models are built up in a Centralized Structure Store (CSS), a database containing the drawing primitives and their attributes (color, line style, etc.). CSSes cand be shared among a number of views, known under PHIGS as a workstation. PHIGS is defined by the ISO standards ISO/IEC 9592 & 9593. Open PHIGS provides a library for C.
Extended C Library
Why Is libxc needed? There doesn't exist a library for ANSI C99 for common data containers, such as vectors, trees, etc. There also also doesn't exist a library for common functionality, such as error reporting/logging, string functions, configuration management (reading config files), etc... The programmer working in C doesn't have anything analogous to the Boost C++ library. The extended C library is intended to make some headway into providing this functionality. To ensure unrestricted usage the libxc project is provided under the very permissive BSD license. If you need a different license then please send me a request (lelanthran at gmail) and I'll do my best to satisfy your request. What's completed? As of writing, the following libraries have been written and tested: 1. Memory accounting/tracking 2. String operations 3. Vectors 4. Trees 5. Dictionary arrays 6. Configuration management See the wiki page for more information
The goal of this project is to provide well-tuned, openCL based cLAPACK/cBLAS-like library, designed for large sized data or large amount of small sized data.