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=587aaf65c30248bf71539177899ff4846cd4cf89;hb=HEAD;hpb=c6aaa433dedff2dd8063983c7716c0cdb296a0f9 diff --git a/graphics/3D/3D Synthezier/doc/index.org b/graphics/3D/3D Synthezier/doc/index.org index 587aaf6..866cb66 100644 --- a/graphics/3D/3D Synthezier/doc/index.org +++ b/graphics/3D/3D Synthezier/doc/index.org @@ -1,20 +1,39 @@ -#+TITLE: QBasicApps - collection of applications mostly written in MS QBasic for DOS environment +#+TITLE: 3D Synthezier ------ -- [[http://www2.svjatoslav.eu/gitweb/?p=qbasicapps.git;a=snapshot;h=HEAD;sf=tgz][download latest snapshot]] +* (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 version 3 of the [[https://www.gnu.org/licenses/lgpl.html][GNU Lesser General Public - License]] or later as published by the Free Software Foundation. +- 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 -- [[http://www.svjatoslav.eu/programs.jsp][other applications hosted at 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 @@ -30,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 @@ -48,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 @@ -139,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: