X-Git-Url: http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=blobdiff_plain;f=graphics%2F3D%2F3D%20Synthezier%2Fdoc%2Findex.org;h=866cb6673aac2b84a57005701fab826117320949;hp=8c9cee9cfc6dd1044be8e9d37aafaf9c5f3a07ec;hb=75f1316059c56adea365de9b40dc627486114be1;hpb=d024b654da7128e76aa519aa97cd921c8eaa5772 diff --git a/graphics/3D/3D Synthezier/doc/index.org b/graphics/3D/3D Synthezier/doc/index.org index 8c9cee9..866cb66 100644 --- a/graphics/3D/3D Synthezier/doc/index.org +++ b/graphics/3D/3D Synthezier/doc/index.org @@ -1,8 +1,40 @@ #+TITLE: 3D Synthezier ------ +* (document settings) :noexport: +** use dark style for TWBS-HTML exporter +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: +#+HTML_HEAD: + +* General - This software is part of [[../../../../index.html][QBasic apps package]]. +- This program is free software: you can redistribute it and/or modify + it under the terms of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public License]] as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + +- Program author: + - Svjatoslav Agejenko + - Homepage: http://svjatoslav.eu + - Email: mailto://svjatoslav@svjatoslav.eu + +- [[https://www.svjatoslav.eu/projects/][Other software projects hosted at svjatoslav.eu]] + +** Source code +- [[https://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][Download latest snapshot in TAR GZ format]] + +- [[https://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=summary][Browse Git repository online]] + +- Clone Git repository using command: + : git clone https://www2.svjatoslav.eu/git/qbasicapps.git + +* Operating principle + Parses scene definition language and creates 3D world based on it. Result will be in a [[https://en.wikipedia.org/wiki/Wavefront_.obj_file][wavefront obj file]], witch can be then visualized using external renderer. @@ -17,10 +49,10 @@ omong any axis. Generator has built in cache for data input and output to minimize file access. * System requirements -| software | preferred version | -|----------+-------------------| -| DOS | 6.22 | -| QBasic | 4.5 | +| software | tested version | +|----------+----------------| +| DOS | 6.22 | +| QBasic | 4.5 | * Installation + Unpack ZIP file in any folder. + update include path inside bin/3dparse.bas @@ -35,66 +67,63 @@ to minimize file access. + 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 -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. - -[[file:rotation.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 +** here + : here + defines new segment +** p + : p x y z + defines new point +** f + : f p1 p2 p3 p4 + defines new polygon, p4 may be unused +** warn + : warn + displays warning message, and wait for key +** end + : end + terminates parser +** mtl + : mtl material + selects material +** mtlrnd + : mtlrnd material ... + selects random material from list +** obj + : 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. + + [[file:rotation.png]] +** rnd + : rnd p^1^2^3 p^7^2^1 + select random command to execute, ^ will be converted to spaces. +** # + : # whatever text + comment +** out + : out file + specify output file name, must be first command +** set + : set variable contents + set variable contents, variable must be number, contents can be + string. max variables is 100. first is 0. +** variables usage + : anycommand %1 anything + inserts variable 1 contents info line +** cmp + : 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 + : dum + dummy function, does notheing * Usage Make sure you have QB binaries in your PATH. Execute @@ -126,13 +155,3 @@ They were produced by importing generated [[https://en.wikipedia.org/wiki/Wavefr [[file:hexagonal city, 2.jpeg]] [[file:hexagonal city, 3.jpeg]] - -* (document settings) :noexport: -** use dark style for TWBS-HTML exporter -#+HTML_HEAD: -#+HTML_HEAD: -#+HTML_HEAD: " -#+HTML_HEAD: