<BGSOUND src="images/losingmyreligion.mid">

OpenGL 3D desktop environment

Home


CV in english

CV in italian


Photoalbum

Favorite links

Download

64bit corner

Acer 7720G

Acer 6930G

Z80


True3D*Shell

3D hand study

3D Depth sort

Raddy project

MQ4CPP project


The gateway

Overview

The design of True3D*Shell is inspired to multiverse and bubble universe cosmological theories were the universe is an expanding cosmic bubble and this bubble creates a new bubble which produces it the others.

 

True3D*Shell is an open source 3D desktop environment that allows users to experience 3D browsing in a virtual reality universe where information are organized in 'bubbles' connected by 'pipes'. Bubble can be the equivalent of a folder in a computer, a shared folder in a network, or an execution space for a 3D program. Bubbles generated by different computers are connected by "pipes" acting as network connections, providing network transparency.

 

True3D*Shell integrates in itself the following concepts:

  • Shell : provides access to the kernel services
  • Desktop environment : offers a graphical user interface (GUI) solution to operate a computer
  • Avatar : provides a fantastic representations of a person's self with witch user can explore the virtual universe.
  • Virtual Reality : users can interact with a virtual environment either through the use of standard input devices such as a keyboard and mouse, or through multimodal devices.
  • MVC paradigm : is a software architecture that separates an application's data model, user interface, and control logic into three distinct components.
  • Multithreading : Threads are a way for a program to split itself into two or more simultaneously running tasks. Multiple threads can be executed in parallel on many computer systems.
  • Grid computing : provides the ability to perform higher throughput computing by taking advantage of many networked computers to model a virtual computer architecture that is able to distribute process execution across a parallel infrastructure.
  • MOM paradigms : Message Oriented Middleware is a category of inter-application communication software that relies on asynchronous message.
  • Multiverse theory: a multiverse (or meta-universe) is the hypothetical set of multiple possible universes (including our universe) that together comprise all of physical reality. The structure of the multiverse, the nature of each universe within it and the relationship between the various constituent universes, depend on the specific multiverse hypothesis considered.
  • Bubble theory: is a posits an infinite number of open multiverses, each with different physical constants. The bubble universe model is a variant of the inflationary model of the big bang. The formation of our universe from a "bubble" of a multiverse was proposed by Andre Linde. This Bubble universe theory fits well with the widely accepted theory of inflation.

True3D*Shell allows to create several interconnected universes across a network:

 


Software architecture

From architectural point of view, True3D*Shell is based on the following technologies:

  • Intel IA32 or IA64 hardware platforms
  • Linux or Windows O.S. platforms
  • POSIX or WIN32 SDK
  • TCP/IP Socket2 library
  • OpenGL: is a specification defining a cross-language cross-platform API for writing applications that produce 3D computer graphics.
  • FreeGLUT: is a library of utilities for OpenGL programs, which primarily perform system-level I/O with the host operating system.
  • MQ4CPP: is an open source toolkit implementing an enterprise messaging system, also referred to as message-oriented middleware (MOM).
  • LIB3DS: toolkit for handling 3DS files.
  • DOTCONF++: toolkit for handling configuration file.

 

 

True3D*Shell is compiled and tested on the following platforms:

  •  Windows 2000 (x86)
  •  Windows XP (x86)
  •  Windows 2003 Enterprise Server SP1 (SMP Itanium2)
  •  Linux Red Hat ES 3.0 (x86 - kernel 2.4.21)
  •  Linux SuSE SLES 8 (SMP Itanium2 - kernel 2.4.21)
  •  Linux Red Hat ES 3.0 (SMP Itanium2 - kernel 2.4.21)
  •  Linux Red Hat ES 4.0 (SMP Itanium2 - kernel 2.6.9)

Screenshots

User can navigate in the virtual universe and interact with 3D objects as shown in the following picture:

 

Download here a demo video (23Mb) showing True3D*Shell or watch it from youtube.com:


Development tools

To develop this project I have used the following free tools:

Java SDK 1.4.2: to run Eclipse

Eclipse 3.0: for visual editing.

Eclipse CDT 2.0 plug-in: for C and C++ editing.

Microsoft Visual C++ Express 2005: include Intel x86 compiler, linker and standard C and C++ libraries.

Microsoft Platform SDK (Core SDK only): include Intel Itanium2 compiler and Windows SDK libraries.

Milkshape 1.7 and C/C++ Header exporter for OpenGL: development tool for 3D objects.


Dependencies

OpenGL: binaries are usually included in OS distribution.

FreeGLUT: OpenGL Utility Toolkit, a window system independent toolkit for writing OpenGL programs.

MQ4CPP: middleware implementing distribuited messaging between threads.

lib3ds: free ANSI-C library for working with the popular "3ds" 3D model format.

dotconf++: dotconf like configuration file parser written in C++.


Download

True3D*Shell is licensed under the GNU General Public License. This means that all source code, tools and documentation is available free of charge for any purpose.

The main constraints of the GPL license:

  •  You could reuse this software for your own project but it have to be licensed also under GPL. 
  •  Make the True3D*Shell available as source with copyrights intact.
  •  Clearly document customisations, modifications or changes to True3D*Shell.

Disclaimer

No warranty or responsibility in relation to the suitability, functionality, reliability or robustness of the software. This software is under constant revision, with changes likely to some parts of application or API. All reasonable efforts are made to supply the software without known defects or exploits, however no responsibility can be accepted by the authors.

 

Release

Source code

Release notes

1.0

Nightbuild_V0.12

This version is only a proof of concept.

1.1

In this release the product allows only to browse the local file system and uses OpenGLUT.

1.2

In this release user can browse local file system and run selected file, browse remote file system and download/run selected file, run a robot that automatically browse local and remote file system. Now the project include FreeGLUT.

1.3
This release integrates DOTCONFPP project to handle configuration files and LIB3DS project to handle Autodesk files.
Meshes are separated from the engine and loaded during startup from .3DS files with texture in .BMP 24 bit RGB format. User can now fully customize this product through a configuration file and use different configuration file using -f option at startup.
1.4
This release implements a new internal architecture and allows a user to switch between universes in the same session. It is still incomplete in some functionality. It requires MQ4CPP version 1.16 or upper.

 

Precompiled binaries for True3D*Shell

 

O.S.

Release

Download

Release notes

Windows 2000, XP, 2003 Sever (x86)
1.3

 

Windows XP, 2003 Server (IA64)
1.2

 

Linux (x86)
1.3
Install on kernel >= 2.4.21
Linux (IA64)
1.2
Install on kernel >= 2.6.9

 

Please report any problem or request of support sending an e-mail here.