[Home | HyperNet] HyperNet is the software framework used in Small Media and Visual Music. It is based on graph theory and the data flow model. It uses the visual programming paradigm to reduce typing source code to a minimum. HyperNet is a R&D project that I've been working on the last few years. The current implementation is in Java, with ports to C++ and C# planned. The graph-based programming model is not new. Some people have realised its values and it is the core of many modern software, some of which are shown below. Maya - Alias's high-end 3D modelling, animation and rendering application. Maya is almost entirely built from a graph. If you have access to its SDK, take a look at you will realise the extent to which the graph-based programming model is applied. Below are screenshots of Hypershade in action.
SoftImage XSI - Avid's high-end 3D application. A competitor to Maya, SoftImage's shading mechanism, called the Render Tree (used to be called Shade Tree) is used to build shaders, is based on graphs too.
SoftImage's compositing is also done using graphs, called the FX Tree.
Rendering tutorials at XSIBase.com. Shake from Apple is the compositing application used in the Lord of the Rings movies.
OpenDX - IBM's open-source scientific visualisation software.
VTK - Kitware's scientific visualisation software.
DirectShow - Part of DirectX, DirectShow is Microsoft's framework for media-based application. It uses Filter Graphs to chain source, effects and sink nodes together.
Buzz - The most popular and free software-based sound and music synthesizer.
LabVIEW - National Instrument's measurement and automation software uses Virtual Instruments to monitor and control hardware.
RT/Shader from RTzen is a graph-based GPU shader modelling environment.
UnrealEngine3 from Epic Games uses graphs to build their materials.
The above examples use graph-based programming in a very specific manner, and the implementation is highly-coupled with the application. I do not know of any general graph-based visual programming framework and I hope HyperNet can fill this gap. I hope to release a beta online soon but you can take a look at a screenshot of an early prototype GUI here. Last update: Tuesday, 7 December, 2004 3:48 PM |