Why that name?
   Old Screenshots

   From CVS


   Help needed
   The team
   Mailing list

   Fields of Interest
   3Dsia Language
   Visualization Engine

   Sourcecode Docu








Page by:
   Alexander Feder
   Gerald Scheidl

We actually started with 3Dsia in August 1998, when Alexander Feder and Gerald Scheidl invested lots of time to just talk about a basic structure of an open VR shell based on ideas and material written 1992.

Many ideas originated in those conversations, but due to lack of time (and energy), the development of the prototyp started not till May 1999. Then we stopped developing the prototype before it was really finished. Now, almost a century later, we started to write some concepts and to write down our ideas.

The project was founded as "graduation project" for some students of the "HTL-Donausstadtstrasse" in Vienna. And this is what it is actually for in the first steps. We will present some results until April 2000. After this the project will be developed independently as a common open-source project.

Help needed

We would be very glad and thankful if you would join the development. 3Dsia's success will depend on the number of contributors and of course the quality of the contributions. If you want to contribute as an active developer, then register as a user at sourceforge. After that, please send us a mail including your username, then i can add you to the list of developers.

If there is any other way you would like to contribute, please send an email!

Important!: Be sure to visit the 3Dsia project-pages at sourceforge


In case you want to contribute, there are some important things to say:

  • You are doing this voluntarily, so there are no obligations of any kind. If you don't want to do something, you just don't have to do it.
    We want to maintain a climate where development is fun, and want that all participants are satisfied with what they are doing and with what is going on.
  • If you are not satisfied with anything (code/concepts/ideas) tell it on the mailinglist.
  • If you have an idea of any kind tell it on the mailinglist.
  • If you are employed in some software company, be sure that the code you contribute is owned by you. It would be very annoying to have recode something because of legal problems.
  • this list will be continued...

The team

The team actually consists of:

    Initial Team:
    • Alexander Feder (xandi), Project manager
    • Gerald Scheidl (aka SlowHand)
    • Jan Brodacz
    • Bernhard Fury

    New Team Members:
    • Marc Haisenko
    • Paul Musgrave


Anonymous CVS Access

This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. When prompted for a password for anonymous, simply press the Enter key.

    cvs -d:pserver:anonymous@cvs.threedsia.sourceforge.net:/cvsroot/threedsia login
    cvs -d:pserver:anonymous@cvs.threedsia.sourceforge.net:/cvsroot/threedsia co modulename

Updates from within the module's directory do not need the -d parameter.

Developer CVS Access via SSH

Only project developers can access the CVS tree via this method. SSH1 must be installed on your client machine. Substitute modulename and developername with the proper values. Enter your site password when prompted.

export CVS_RSH=ssh
    cvs -ddevelopername@cvs.threedsia.sourceforge.net:/cvsroot/threedsia co modulename

Browse the CVS Tree

Browsing the CVS tree gives you a great view into the current status of this project's code. You may also view the complete histories of any file in the repository.


There is currently just one mailing list for development purpose. The 3Dsia is not and will not be for a long time useable, thus a user mailinglist is not necessary.

The mailinglist is mainly for development purpose, to share ideas, concepts, and of course to get technical help. It is important that we help each other. If there is something else you want to say, go on.

To subscribe:
go there
Archive available here

Stages 04.Jan 2000 - Feb 2000


  1. Avatarmovement in 3Dsia
  2. Object rendering and portals
  3. Object interaction basics
  4. Design
  5. Apps & Operating

Details: Only step 1) will be explained in detail.
Each step will be designed after completition of the previous one.

  • Systeminit (done)
  • User identification and login (done)
  • Creation of the client thread at login (done)
  • Setting up an empty matrix segment (directory independent)
  • Avatarplacement
    • Avatar will be rendered simply as a box (at this stage! (hehe))
    • Avatar will be individually colored! (basic user configuration)
  • Avatarmovement
    • first graphical client/server interaction
    • gl statements will not be transmitted at this stage, avatar will be rendered with a fixed appearance.
    • Transmission of position-changes to all clients (multiuser abilities)
  • Chat system
    • The chat system is intended to look similar to the on in Ultima Online (which has proofed to be practical - That is, the chat text is displayed on top of the "avatar"-box.
    • chatlog
  • The entry point to the matrix segment does not matter yet
  • A matrix segment might be directory related or simply virtual (named)
  • System base: not pretty but useful
  • Basic client/server communication
  • Basic avatar handling
  • Matrix thread basics
  • Client thread basics
  • First CVS team dynamics (warming up)
ad. 2)
  • Rendering of prototype-like graphics (standard icons)
  • Rendering the server environment (as in the prototype)
  • System is static (will not be updated at this point)
  • Client abilities: clipping & collision detection
  • Implementation of portals - this is a quick step, no gl rendering communication now
ad. 3)
  • Moving objects
  • Saving the changes of object placements
  • Selecting objects
  • Silent execution of applications on the server

ad. 4)
  • Designed environments
  • GL communication between client & server
  • cp, mv, rm
  • Cluster selection
  • First app: Textviewer
  • Widgets (undefined how they will work *grin*)
  • Pipes
  • Monitoring pipes