# Seamless3d

Seamless3d is an open-source 3D modeling software available under the MIT license.
The models for the virtual reality world Techuelife Island were created using Seamless3d technology. Techuelife Island is showcased by Blaxxun as an example of what is possible when using the interactive multi-user Blaxxun platform.
Many Seamless3d tutorials have been translated to French.

## History

In 2001 Seamless3d was made freely available online as a C++ library. The library centered on the creation of animated single mesh avatars for the Blaxxun 3d multi-user platform. It allowed the user to create smooth shaped triangle meshes and join different meshes together with tangent matching surfaces at the joining edges using a C++ compiler. By February 2003 Seamless3d had been transformed into a GUI-based 3D modelling application with a file format designed around VRML format. This allowed Seamless3d files to be edited using VrmlPad utilising its syntax checking.
In 2005 a script compiler was developed and in May 2006 Seamless3d was able to act as a web browser for seamless3d files containing complex scripted animations.
In 2006 a set of specialised nodes for creating simple shapes such as: Sphere, Cylinder, Cone, Torus, Box and Bézier Lathe were added to make Seamless3d easier for the novice to quickly make simple models.
In 2007 the animation interface was greatly simplified by the introduction of a specialised control panel called the Anim bar.
Towards the end of 2007 NURBS were introduced for making shapes and for synthesizing sounds.
In 2010 NURBS control point animation, NURBS stitching and a number of other features to aid making movies were introduced.

## Build Node Technology

Seamless3d can be used as a mesh editor and an animator, however its key feature is its build node technology.
Build nodes allow the user to perform a sequence of complex operations in real time whenever a control point in the 3d window is dragged.

## NURBS Surface Poly Editing (NSPE)

NSPE allows the user to hand edit the polygons on NURBS surfaces. This includes being able to drag the vertices anywhere along the NURBS surface as well as join the vertices together, break the vertices apart and color them. NSPE has a significant advantage over simply converting a NURBS surface to a polygon mesh for editing because NSPE lets the user be able continue to modify the NURBS surface for the hand edited polygon structure.
Because NSPE ensures that when a polygon's vertex is dragged it will always be on the NURBS surface, NSPE greatly helps the user to avoid unintentionally changing the shape of the model when optimizing for real time animation.

## Fusing NURBS Surfaces

By including a FuseSurface feature designed for fusing 2 NURBS surfaces together, Seamless3d allows for the creation of smooth continuous curvy models made from multiple NURBS surfaces.

## SeamlessScript

Seamless3d has its own built in script compiler which compiles SeamlessScript (a very fast light weight scripting language) into native machine code. SeamlessScript is designed to look and feel a lot like JavaScript while being able to be compiled by a standard C++ compiler. This allows the user to develop complex animation sequences using a C++ IDE which gives the user access to professional debugging aids such as single step execution.

## Seamless3d format

Seamless3d format (smls) is a text-based, human-readable format with some aspects common to VRML.
The following example shows the code (containing SeamlessScript) for an animated spinning box:

## Seamless3d Chat

The Multi-User Seamless3d chat server designed for 3D World Wide Web browsing is open source under the MIT license and can be compiled for both Linux and Microsoft Windows. Currently the Seamless3d modeller is used as the 3D chat client. An online Seamless3d chat server has been in continuous service since April 2009. The general public can freely use it for their own custom made worlds and avatars.

## Features

* Exports to VRML, X3D (including H-Anim), OBJ and POV-Ray formats
* Imports VRML and X3D VRML Classic formats
* Imports Canal/Blaxxun Avatar Studio avatars
* Imports H-Anim
* Imports and Exports Biovision Hierarchy Motion Capture (BVH) files
* Support for FFmpeg which allows for the creation of AVI, MPG, MP4 and FLV movie formats
* Transform hierarchies
* Morphing
* Skinned animation
* Texture mapping
* JPEG and PNG texture formats (and BMP when using DirectX)
* Béziers & NURBS lathes and NURBS patches
* Tangent matched NURBS Surface Fusion
* Nurbs Surface Poly Modeling (NSPE)
* Software robot demonstration help
* Scripting
* Key-frame based and Script based animation
* Sound synthesis using NURBS
* Seamless3d files are a compact human-readable text format
* Multi-User 3D chat web browsing