GSS - Generative Scene Script

--- Under construction and even the name is temporary ---

This is a scripting language intended for easily make maps for 3d games.

It can currently create Wavefront Object (*.obj) for static meshes.

It is currently in alpha development stage and latest version is 0.3.

Some current features:

The main idea behind the creation of 3d maps, is to define some lines and attach textures to them. The location is then moved and with a simple command the lines are pulled to the new place, leaving textured faces behind. In other words. A corridor would be made by defining four lines on vertical plane and the just moving around and a corridor is formed behind.

Example, simple corridor section:

l -.5,  0,  0,   .5, 0, 0, "floortexture" // floor
l  .5, 1, 0, "walltexture"                // wall
l -.5, 1, 0, "ceilingtexture"             // ceiling
l -.5, 0, 0, "walltexture"                // wall
push              // let's push our corridor prototype into storage
move 1         // move a step forward
pull // pull the lines to this new position and create walls

Simple! The shape need not to be 'pushed' to storage anymore, one could just move around, maybe rotate a bit and then just call pull.



Some Readme.txt dumps:

 * Rotations around multiple axis don't work as expected
 * Including same file multiple times is undefined



 * Version 0.3
   - 'repeat' structure
   - 'include'
   - normals

 * version 0.25
   - math and variables
   - quaternion rotations

 * Version 0.2
   - macros
   - global position

 * Version 0.1
   - lines and faces


  This software is provided 'as-is', without any express or implied
  warranty.  In no event will the authors be held liable for any damages
  arising from the use of this software.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.