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