Block 4    music projects    shop    Art + Exhibition    Film works    Research    Data    Sitemap And Search    Impressum / Contact  

you are here: Block 4 > Research >  work in progress, the beginning

Goal

A performance system which let several performers (here the members of Das Kombinat) remote control 3D figures on a virtual stage. Each performer uses a computer and clientsoftware, connected to a server. The realtime image of the server is projected for the audience. In general Block4 recognizes the need for an own 3D engine for forthcoming art and game projects. It will be a long task because meanwhile we will release records, making concerts, exhibit installations, doing our jobs so I can't focus on only 3D programming.

Evaluating and doing the right decision (hopefully)

The web gives several resources for archieving that goal. Mainly these ways may be possible:

1. Using existing standards VRML97, EAI and Java/C++ (November 1999)
The first attempt was done by using a VRML Browser, controlled via the external Authoring Interface and Java. But the Java-sandbox security of an applet make it impossible to write a Network Client/Server solution, a Java Application can't contact the VRML Browser easy.

programming with BlaxxunNext approach was to include Blaxxuns VRML browser via ActiveX in a C++ program and it works. The Microsoft Foundation Classes makes it as easy to establish a network connection as Java. Unfortunaly a lot of (software) interfaces are between the performer and the rendered picture, making the application less stable and complicated to program. And solid mesh morphing animation can't be done with VRML yet, so this solution was dropped.




2. Using third party engines
Several free engines where evaluated and the Genesis one was considered the best fitting. But like the first way you are bound to the bugs of others and you have to learn to program their software so it was dropped.

3. Programming a 3D Engine (1999/2000)

programming with Direct XAfter first successful tests with OpenGL, DirectX was chosen as a 3D API. It is done because it provides some highlevel commands which make it easy to step into 3D engine programming and it is supported by all 3D acceleraters. Portability is not important for this project. Although Microsoft dropped support for the socalled Retain Mode since DX7, it was used for the beginning. Later, after getting more in it, I will revert it to the Immedant Mode. After a couple of hours I got a first program with loading and walking through an environnement.


Retained (October 2000)
M$ tends to give up the Retain Mode, we all love them for these things. This and some performance worries makes me switch to immedant mode. It is not so far away and things went easier as expected, soon a new walkthrough prototype runs.

3D engine with DirectX
You can even see a first character misplaced in the area. At this point the programming was stalled and the development for a VSTi plugin was preferd. But this will be continued...

Malte Steiner, DAS KOMBINAT

All enumerated brands belongs to their holders

Sound Synthesis

Pure Data

Notstandskomitee Visual Sequencer System

Minicomputer Synthesizer

Alsa Modular Synthesizer

csound

3Klang Linux synthesizer

MacOSX software synthesizer

Machines

3D Engine

work in progress, the beginning

GPGPU, the future

Choosing a 3D engine

Education and Ressources

Raspberry Pi research

Realtime visuals with Panda3D

Blender as batch processor

3D with Max/MSP Jitter

Wings 3D modelling

ARToolkit

preparing netbook