Short: 3D functions for BlitzBasic2 (.bb2 source) Author: Maciej Gorny (gorn4907@mars.rowan.edu) Type: dev/blitz Architecture: m68k-amigaos Date: February, 1996 This file contains a blitz2 source code that allows handling of polygons in 3d space. The archive also contains some simple examples how to use those functions and statements. Originally, it was meant as a full blown 3D library with tokenized statements, and all that (that's why I sometimes refer to it as 2B3D library), but due to the lack of time and that it seems that Acid Software does not want libraries written in anything else other than assembly, I decided to upload the source. I won't be able to work on it for a while, but maybe someone else will, and we'll all have a nice 3D library for everyone to use. I only ask that if someone adds to this library, that the source code along with the list of changes be made be publicly available for everyone to use. The source code and files contained in this archive are freely distributable, however they are copyrighted. * Objects stored in a special file format (PLG). Load objects using PLGLoadObject() statement. * Polygons can be one- or two-sided. * Performs backface culling on one-sided polygons. * Polygons can have 3 or 4 vertices. * Shades polygons relative to a light source (vector relative that is, distance from a light source does not affect final shade: something to work on :) ). * Performs polygon clipping to either a selected z-plane or a viewing volume. * Allows to alter palette to gradually change from one color to another (for shading purposes mainly). * Includes functions for matrix and vector math operations. * Includes functions for free movement around 3d world (move anywhere, look in any direction). * Uses Painter's algorythm to render polygons. * Render objects in wireframe form or as a solid. * Includes examples. 2B3D Copyright (C) 1996 Maciej R. Gorny