+++ /dev/null
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>3D Synthezier</title>
-</head>
-<body>
-<h1>3D Synthezier</h1>
-
-<pre>
-This QBasic program was written by me in around 2003. It parses scene
-definition language and creates 3D world based on it. Result will be
-in a wavefront obj file, witch can be then visualized using external
-renderer.
-
-Basic concept of defining scene is:
- Simple and primitive objects are created on point and polygon level.
- More complex ones can be created my combinig already existing ones,
- while applying various transformations on them.
-
-Objects with all its subobjects can be rotated, flipped or resized
-omong any axis. Generator has built in cache for data input and
-output to minimize file access.
-
-</pre>
-
-<BR/>Examples:
-<CENTER>
- <BR/><IMG src="city1.jpg">
- <BR/>Attempt to make "Fifth Eelement" like city.
- <BR/><BR/>
-
- <BR/><IMG src="city2.jpg">
- <BR/>Attempt to make "Fifth Eelement" like city. Night.
- <BR/><BR/>
-
- <BR/><IMG src="city3.jpg">
- <BR/>Attempt to make "Fifth Eelement" like city. Night.
- <BR/><br/>
-
-
- <BR/><IMG src="c1.jpg">
- <BR/>Hexangular city.
- <BR/><BR/>
-
- <BR/><IMG src="c2.jpg">
- <BR/>Hexangular city, closer.
- <BR/><BR/>
-
- <BR/><IMG src="c3.jpg">
- <BR/>Hexangular city, even closer.
- <BR/><BR/>
-</CENTER>
-
-<pre>
-<CODE>
-
-I converted these 2 generated cities also
-to <a href="http://www.blender.org/">Blender</a> format so you can
-explore them interactively :)
-
-Download:
- <a href="city_square.blend">Square city (3.5 MB)</a>
- <a href="city_hexagon.blend">Hexagonal city (20.3 MB)</a>
-
-
-
-
- System requirements
- ===================
-
-DOS (6.22 preferred)
-QBasic (4.5 preferred)
-
-
- Installation
- ============
-
-* Unpack ZIP file in any folder.
-* update include path inside bin/3dparse.bas
-
-
- Running program
- ===============
-
-Make sure you have QB binaries in your PATH.
-Execute bin/city1.bat or bin/city2.bat to generate example citys.
-After parsing is finished appropriate *.obj files will
-appear in the bin directory holding generated scene.
-Visualize scene with your favourite renderer.
-(3D Studio MAX or Nugraf 3D rendering System will do)
-
-
- Directory layout
- ================
-
-bin
- 3dparse.bas 3D generator main executable
- city1.3d city with square-like buildings
- city2.3d city with hexangular buildings
- result.mtl shared material library
- *.bat quick launch scripts
-doc manual
-include 3D objects used to compose the scene
-
-
- Scene description language
- ==========================
- (read examples...)
-
-
-here - defines new segment
-p x y z - defines new point
-f p1 p2 p3 p4 - defines new polygon, p4 may be unused
-warn message - displays warning message, and wait for key
-end - terminates parser
-mtl material - selects material
-mtlrnd material ... - selects random material from list
-obj object xz45 xy20 x+3 y*2 - includes sub object, can be rotated moved
- or resized,
- across X Y Z. If object name begin vith ~
- then it will be loaded from current directory.
- if object name ends with ~ then object will
- be parsed directly from file, and not chached,
- to allow loading of greater than 500 lines
- files.
- <IMG src="axes.png">
-
-
-rnd p^1^2^3 p^7^2^1 - select random command to execute, ^ will be
- converted to spaces.
-# whatever text - comment
-out file - specify output file name, must be first command
-set variable contents - set variable contents, variable must be
- number, contents can be string. max variables
- is 100. first is 0.
-anycommand %1 anything - inserts variable 1 contents info line
-cmp flag string1 string2 - compares strings, and inserts TRUE to flag, if
- they are equal, else inserts FALSE. max 9 falgs
- ,0 first. Each subobject has its own flags.
-?flag anycommand - executes command if flag is true.
- exapmle: ?3 obj car z*2 xy45
-dum - dummy function, does notheing
-
-</CODE>
-</pre>
-</BODY>
-</HTML>