home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_GEN / LIB3D30A.ZIP / 3DLIB.DOC < prev    next >
Text File  |  1994-03-10  |  29KB  |  596 lines

  1.  
  2.  ╔══════════════════════════════════════════════════════════════════════════╗
  3.  ║                                                                          ║
  4.  ║                               HyperAct, Inc.                             ║
  5.  ║                               P.O.Box. 5517                              ║
  6.  ║                         Coralville IA 52241 U.S.A                        ║
  7.  ║                          Compuserve - 76350,333                          ║
  8.  ║                        Phone/Fax - (319) 351-8413                        ║
  9.  ║                                                                          ║
  10.  ╚══════════════════════════════════════════════════════════════════════════╝ 
  11.  
  12. *******************************************************************************
  13. *                                    3dLIB                                    *
  14. * 3dLIB - 3D Graphic objects library for Turbo Pascal Programmers. V3.0       *
  15. * Last Update : Feb. 20, 1994.                                                *
  16. *******************************************************************************
  17.  
  18. *******************************************************************************
  19. *                                 FILE - LIST                                 *
  20. *******************************************************************************
  21.  
  22. The distribution package contains the following files, in the following
  23. archives  :
  24.  
  25. Archive A :
  26. -----------
  27.  
  28.         *       .TPU      - Pascal Units, DOS Real Mode :
  29.                             CTM3D   .TPU - Current Transformation Matrix definition.
  30.                             PROJECT3.TPU - Projection (3D -> 2D) unit.
  31.                             HDR3D   .TPU - Header to 3D structures.
  32.                             RTOBJ   .TPU - 3D Wire-Mesh objects.
  33.         *       .TPW      - Pascal Units, Windows :
  34.                             CTM3D   .TPW - Current Transformation Matrix definition.
  35.                             PROJECT3.TPW - Projection (3D -> 2D) unit.
  36.                             HDR3D   .TPW - Header to 3D structures.
  37.                             RTOBJ   .TPW - 3D Wire-Mesh objects.
  38.         *       .INT      - Pascal Units interfaces :
  39.                             CTM3D   .INT - Current Transformation Matrix definition.
  40.                             PROJECT3.INT - Projection (3D -> 2D) unit.
  41.                             HDR3D   .INT - Header to 3D structures.
  42.                             RTOBJ   .INT - 3D Wire-Mesh objects.
  43.         *       .PAS      - Pascal Sources, Demo Programs :
  44.                             DEMO3D  .PAS - A demo program - DOS.
  45.                             DEMO3DW .PAS - A demo program - Windows.
  46.         *       .3D2      - Demo OBJ3D Type object files (Pascal/Real):
  47.                             3       .3D2 - A 3 dimensional "3" character.
  48.                             BOX     .3D2 - A 3D box.
  49.                             D       .3D2 - A 3 dimensional "d" character.
  50.                             PROP    .3D2 - A 3D Propeller.
  51.                             PYR     .3D2 - A Pyramid.
  52.                             SUPROP  .3D2 - Another 3D Propeller.
  53.                             TRAP    .3D2 - A 3D Trapeze.
  54.                             TWOLAYER.3D2 - Demo 3DO defined object.
  55.         *       .3DS      - Demo ComplexObj type object files.
  56.                             BIMBO   .3DS 
  57.                             HOUSE   .3DS - A Very bad example of a house.
  58.                             INMID   .3DS
  59.                             MASHPECH.3DS
  60.                             MYTEST  .3DS
  61.                             TWOBOX  .3DS - 2 Boxes Object.        
  62.                             TWOEDGE .3DS 
  63.                             TWOPYR  .3DS - 2 Pyramids.
  64.         *       .3DD      - Demo object definition files.
  65.                             TWOLAYER.3DD - Two Layers - one above the other.
  66.                             TWOPYR  .3DD - The Two Pyramids Complex Object Src.
  67.         3DLIB   .DOC      - This file.
  68.         3DC     .EXE      - M3D to PAS source file translator. (DOS).
  69.         3DC     .DOC      - 3dC translator documentation.
  70.         3DA     .EXE      - 3dA Macro Animator (Interpreter) for the DOS environment.
  71.         3DO     .EXE      - 3dO object compiler - DOS.
  72.         3DO     .DOC      - 3dO object compiler documentation.
  73.         *       .M3D      - Sample macro programs.
  74.                             3DEMO   .M3D - Rotating '3' and 'D' objects.
  75.                             BOX3MV  .M3D - Spiral Box.
  76.                             BUG     .M3D - An old macro that once helped me to 
  77.                                            debug some of the 3D code.
  78.                             CLC     .M3D 
  79.                             FOXTROT .M3D - Named after the Genesis album (Why?)
  80.                             INTEGV  .M3D - A Nice macro.
  81.                             KUKU    .M3D
  82.                             NEWDEMO .M3D - A Long macro.
  83.                             PYR3MV  .M3D - Same as BOX3MV but with a pyramid.
  84.                             PYRMOV  .M3D
  85.                             PYRTYP  .M3D
  86.                             R2D2    .M3D
  87.                             SUPERBOX.M3D - A box that "moves" in space..
  88.                             TST     .M3D
  89.                             TWOBOXMV.M3D - A ComplexObject animated.
  90.                             ZOOZO   .M3D        
  91.         DEMO3D  .EXE      - Demo 3d animation program - DOS.
  92.         DEMO3DW .EXE      - Demo 3d animation program - Windows.
  93.         PROGRAMS.TXT      - HyperAct, Inc. shareware products description.
  94.         3DLIB   .REG      - 3dLIB registration file.
  95.         3DLIB   .UPG      - 3dLIB upgrade file for registered users.
  96.         3DLIB   .RES      - 3dLIB resource file for windows programs.
  97.         EGAVGA  .BGI      - BGI driver for EGA/VGA. (Pascal Compatible).
  98.         3DLIB   .TPH      - A BP IDE/THELP 3dLIB on-line help.
  99.  
  100. Archive B :
  101. -----------
  102.  
  103.         *       .H        - C++ Headers, DOS Real Mode (BC++/4):
  104.                             CTM3D   .H   - Current Transformation Matrix definition.
  105.                             PROJECT3.H   - Projection (3D -> 2D) unit.
  106.                             HDR3D   .H   - Header to 3D structures.
  107.                             RTOBJ   .H   - 3D Wire-Mesh objects.
  108.         *       .OBJ      - C++ Object files, DOS Real Mode model medium (BC++/4):
  109.                             CTM3D   .OBJ - Current Transformation Matrix definition.
  110.                             PROJECT3.OBJ - Projection (3D -> 2D) unit.
  111.                             HDR3D   .OBJ - Header to 3D structures.
  112.                             RTOBJ   .OBJ - 3D Wire-Mesh objects.
  113.         *       .CPP      - C++ Sources, Demo Programs :
  114.                             DEMO3D  .CPP - A demo program - DOS.
  115.         *       .MAK      - C++ Make files for the demo programs :
  116.                             DEMO3D  .MAK - A demo program - DOS/Make file.
  117.         *       .3D3      - Demo OBJ3D Type object files (C++/Double):
  118.                             3       .3D3 - A 3 dimensional "3" character.
  119.                             BOX     .3D3 - A 3D box.
  120.                             D       .3D3 - A 3 dimensional "d" character.
  121.                             PROP    .3D3 - A 3D Propeller.
  122.                             PYR     .3D3 - A Pyramid.
  123.                             SUPROP  .3D3 - Another 3D Propeller.
  124.                             TRAP    .3D3 - A 3D Trapeze.
  125.                             TWOLAYER.3D3 - Demo 3DO defined object.
  126.  
  127.         3DCW    .EXE      - Windows Hosted MDI M3D to PAS generator, and animator.
  128.         R2D     .EXE      - Convert Real (Pascal) Objects to Double (C/C++) objects.
  129.         3DCW    .HLP      - 3dCW on-line windows help file.
  130.  
  131. *******************************************************************************
  132. *                                Why Register                                 *
  133. *******************************************************************************
  134.  
  135. 3dLIB is a shareware product, if you find this product valuable, please 
  136. register it. This section describes the reasons you should register.
  137.  
  138. By registering you will receive a diskette with the latest 3dLIB version, 
  139. the 3d environment program, for WYSIWYG object creation, the complete source 
  140. code for the 3d library, and - you will help us to create the next version of 
  141. 3dLIB - that will include even more features than the features that are 
  142. currently available!,  we might even add YOUR enhancement requests!
  143.  
  144. A Special Registration Bonus include the 3D Mania Screen Saver Module Source!
  145.  
  146. With your registered version you will also receive a Registration Bonus
  147. Certificate for one issue (or an additional issue if already a subscriber) of
  148. the "JCSM Shareware Collection"tm CD-ROM at a cost of only $9.95 ! (plus S&H).
  149. Offer valid through June 30, 1994. Only one certificate can be redeemed per 
  150. issue.
  151.  
  152. To order your registered copy of 3dLIB please do one of the following:
  153.  
  154. 1. Order from HyperAct Inc.:
  155.     You can order directly from HyperAct Inc. Please refer to the 
  156.     supplied 3DLIB.REG file. Edit it, print it and mail it 
  157.     (with a check) to: 
  158.         HyperAct Inc.,  
  159.         P.O.Box 5517
  160.         Coralville Iowa 52241, U.S.A
  161.     If you are outside the US and Canada, please note the following:
  162.         - the S&H fee 
  163.         - wire-transfer payments can be arranged. Please contact 
  164.           HyperAct, Inc.
  165.  
  166. 2. Order from PsL:
  167.     You can order from Public (software) Library with your MC, Visa, AmEx 
  168.     or Discover card by calling 800-242-4PsL (from overseas: 713-524-6394) 
  169.     or by FAX to 713-524-6398 or by Compuserve to 71355,470. 
  170.     These numbers are for ordering only. HyperAct, Inc. can NOT be reached at
  171.     those numbers. Please contact HyperAct, Inc. directly for any other 
  172.         type of problem (technical or other), information or request.
  173.  
  174. Registered users Upgrade note:
  175. ------------------------------
  176. If you registered 3dLIB version 2.5, you can receive this version free (you 
  177. pay only S&H fee). If you have an older version, you can get this version for 
  178. only $20 (plus S&H fees). Please refer to the supplied 3DLIB.UPG file. Edit it,
  179. print it and mail it (with a check) to HyperAct, Inc.
  180.  
  181. *******************************************************************************
  182. *                                 What's  New                                 *
  183. *******************************************************************************
  184.  
  185. Version 3.0 -
  186.  
  187. Animate Windows icon in 3dCW is displayed properly when the animate window is
  188. minimized.
  189.  
  190. Macro Parser now supports @functions, the following functions were added :
  191. @sin, @cos, @sqr, @cotan, @ln, @log10, @log2, @abs, @arctan, @arccos, @exp,
  192. @e, @tan, @pi, @random. (Interpreter + Compiler).
  193.  
  194. The Macro Parser interpreter has better error detection, and fixes variable
  195. assignment bug.
  196.  
  197. The 3da program restores the text screen upon exit, from this version.
  198.  
  199. Added conditional statement to the 3d macro language. With this statement the
  200. equivalent of a "If Then Else" statement is added to the macro language.
  201.  
  202. Add C++ library for BC++/BGI. The same core of the 3d library is now available
  203. to C++ programmers!
  204.  
  205. Added the R2D.EXE program, to convert *.3D2 and *.3DS 3d objects to the
  206. C++ equivalent objects. (*.3D3 and *.3DS).
  207.  
  208. Added *.3D3 object generation to the 3DO object compiler. (/OC+ switch).
  209.  
  210. Added C++ Macro Translation to the 3DC macro compiler.
  211.  
  212. Added Genereate|C++/DOS menu entry in the 3dCW program.
  213.  
  214. Added Help|Search menu entry in the 3dCW program.
  215.  
  216. ====
  217.  
  218. Version 2.5 -
  219.  
  220. Added the color selection command (#c where c = color number) to the 3Dmacro 
  221. language.
  222.  
  223. Fixed a bug in the animate parser (3da and 3dcw) that did not recognize 
  224. variables in the start of an expression.
  225.  
  226. Fixed a bug in the macro compiler parser, assignments are handled properly.
  227.  
  228. The 'z' macro command is now handled in the same way in the animate and compile
  229. modes - It sets the object's 3d center of gravity to 0,0,0
  230. (goto3DPos(0,0,0)). 
  231.  
  232. Improved on-line and text documentation.
  233.  
  234. Fixed a bug in 3dCW - animate command on New files (untitled) will not cause 
  235. a GPF.
  236.  
  237. ====
  238.  
  239. Version 2.0 -
  240.  
  241. Added the Animate button to the 3dCW program toolbar.
  242.  
  243. Added the Background BMP toggle option to the 3dCW Options menu.
  244.  
  245. Added the floating Tools child window to the macro editor windows, just click 
  246. on the desired tool to get a command dialog box that will be inserted into the
  247. source text (and you thought it can't be easier .. ).
  248.  
  249. The 3d simple object was updated to use Collections, so the number of points
  250. and lines is not limited to the size that was decided when the library was 
  251. compiled. Please notice - the format of the .3d2 and .3ds files was not changed
  252. in order to maintain compatibility with older objects. It should be noted that 
  253. the objects API (Methods calling conventions) was not changed as well. The only
  254. difference is in the implementation of the 3d objects (It does pay to play by 
  255. the OOPS rules after all ..).
  256. Because of this change the 3d library can support large and small objects at 
  257. the same time with no practical overhead.
  258.  
  259. Added the 3DLIB.TPH on-line file, use this file from within the BP IDE or THELP 
  260. for 3dLIB on-line help.
  261.  
  262. ====
  263.  
  264. Version 1.7 - 
  265.  
  266. The help facility of the 3dCW program can be activated from the menu, not just 
  267. from the toolbar.
  268.  
  269. From this version the extremely important feature of having the author's picture
  270. in the background of the 3dCW program is added. In this picture the author is 
  271. seen in his Alfa-Romeo Spider 2000. Admit it - this is a feature no other 3d 
  272. graphic library (how many are there?) can offer you.
  273.  
  274. The Options|Text Color option in the 3dCW program now works properly.
  275.  
  276. The help database was extended, and received useful titles in this version.
  277.  
  278. The 3dCW program was converted to work with Borland's BWCC DLL.
  279.  
  280. Added Help|Using help option in the 3dCW program.
  281.  
  282. The 3dO object compiler now supports the creation of complex objects, as well 
  283. as simple objects (added a complexObject statement to the 3DD language).
  284.  
  285. The SimpleObject statement of the 3DD language (3dO object compiler..) now has
  286. a new optional parameter - NOGEN.
  287.  
  288. ====
  289.  
  290. Version 1.6 - 
  291.  
  292. 3dCW users can set the font of the edit window.
  293.  
  294. The DOS and Windows source library files are combined, and only the different 
  295. parts are separated by {$ifdef}s (conditional compiles).
  296.  
  297. Added support for BP7, and upgraded the utilities to BP7.
  298.  
  299. 3dCW was converted to be a MDI program, with the goodies of a toolbar, etc.
  300.  
  301. The 'w' and 'b' are handled as they should be in the 3dCW animator from this 
  302. version (a bug fix). 
  303.  
  304. Added the 3dO object compiler program, that helps with the creation of 3d 
  305. objects from object definition files described in the new object definition 
  306. language (please refer to 3DO.DOC).
  307.  
  308. ====
  309.  
  310. Version 1.5 - 
  311.  
  312. The 3dC and 3dCW programs generate a getClassName function for the generated 
  313. windows.
  314.  
  315. Added Animate Command to the 3dCW program, this way macros can be prototyped
  316. before they are translated into source code.
  317.  
  318. ====
  319.  
  320. Version 1.4 - 
  321.  
  322. Added the 3dA program, an animator for .M3D macro programs, in the DOS 
  323. Environment. 
  324.  
  325. Added the Windows Hosted 3dCW program, a macro translator that runs in the 
  326. Windows environment.
  327.  
  328. This version was tested with Turbo Pascal for Windows V1.5 .
  329.  
  330. ====
  331.  
  332. Version 1.3 - 
  333.  
  334. Adds the 3dLIB.RES resource file for use in Windows programs generated by 
  335. the 3DC program.
  336.  
  337. 3dC generated programs include a menu that allows them to be re-animated and
  338. closed.
  339.  
  340. ====
  341.  
  342. Version 1.2 - 
  343.  
  344. Adds support for Turbo Pascal for Windows programmers by including a second 
  345. set of Pascal code sources for this compiler. 
  346.  
  347. The supplied 3dC macro compiler has been enhanced to produce code for both
  348. compilers, by using a switch on the command line. Please notice - The same 
  349. macro source files can be translated into Turbo Pascal 6.0 and Turbo Pascal 
  350. for Windows code, with no change in the macro definition!
  351.  
  352. The supplied 3dC macro compiler implemented the z, b and w commands that were 
  353. omitted from version 1.1 because of time constraints.
  354.  
  355. *******************************************************************************
  356. *                                INTRODUCTION                                 *
  357. *******************************************************************************
  358.  
  359. 3dLIB is a library of Pascal units that allows Turbo Pascal programmers to write
  360. applications that display and animate 3D wire-mesh objects. The library is based
  361. on a project developed since 1984 on different platforms.
  362.  
  363. This package supports both Turbo Pascal for DOS and Turbo Pascal for Windows (Or
  364. BP 7.0 with objects for DOS real/protected and windows targets).
  365.  
  366. A package called 3D120 is distributed by HyperAct Inc. that includes a graphic 
  367. editor, macro interpreter and Pascal translator to create and use 3D objects. 
  368. It is highly recommended that any programmer trying to use this library will use
  369. the 3D program to create objects, and understand the animation abilities of the 
  370. library.
  371.  
  372. The 3dCW program is a MDI IDE for 3d macro programs (.M3D files).
  373.  
  374. For more help - please consult the provided on-line help database, from within 
  375. the 3dCW program.
  376.  
  377. *******************************************************************************
  378. *                                   OBJECTS                                   *
  379. *******************************************************************************
  380. The 3D objects are defined as the following TP object-structures :
  381.  
  382. *******************************************************************************
  383. *                                  baseObject                                 *
  384. *******************************************************************************
  385.  
  386. baseObject - defined in the RTOBJ.PAS file, this is the "dummy" ancestor object
  387. class of the 3D-objects, such an object has a CTM (called myCTM), a color, a 
  388. center of gravity 3D point (location), and other display attributes, in order 
  389. to achieve better animation results, a scrPntUpdt boolean variable is used to 
  390. indicate if the screen 2D points of the object has to be re-calculated from the
  391. 3D representation.
  392.  
  393. The object uses a 4X4 "transformation matrix" to represent itself in the 3D 
  394. universe, the move, translate, scale, allScale, rotate, goto3dPos, setToOrigin,
  395. calcLocation and deleteTransform methods are used to update that matrix (the 
  396. Current Transformation Matrix).
  397.  
  398. The load, save, writeMe, and readMe methods are used to store and retrieve a 3D
  399. object from a storage device (a disk..), and the open and close methods are 
  400. used to construct, and destruct the object. The show, hide and paint methods 
  401. display, or erase the object on the 2D screen. One more interesting method is 
  402. the updateScreenPoints method, that transforms the 3D object representation to 
  403. the 2D screen.
  404.  
  405. *******************************************************************************
  406. *                                 obj3D                                       *
  407. *******************************************************************************
  408.  
  409. obj3D is a descendant object of the baseObject class, this is a simple 
  410. wire-mesh object, that is built from a Collection of 3D points in the 3D 
  411. universe, a collection of 3d  lines (a line is a segment in the 3D universe 
  412. that connects 2 3D points), another collection holds the 2D screen points of 
  413. the object, calculated from its 3D representation, and the CTM.
  414. Another interesting aspect of this object is the use of 2 more matrices, the 
  415. reverseRot, and unReverseRot CTM objects, that are used to hold only the 
  416. reverse, and counter reverse of the rotation transformations, these are used 
  417. by complex objects that contain several obj3D objects, where some of them has 
  418. to be rotated, scaled and translated around an arbitrary point in the 3D 
  419. universe, which is not their center of gravity (frame - reference).
  420.  
  421. This object is referred as simple object in some places in the provided 
  422. documentation.
  423.  
  424. *******************************************************************************
  425. *                                 complexObj                                  *
  426. *******************************************************************************
  427.  
  428. The RTOBJ.PAS file contains the definition of the complexObj 3D object, this
  429. is an object that contains a maxSubObjects (defined in that file) array of 
  430. simple wire-mesh obj3D objects. This object class sometimes referred to as the
  431. "super - object", allows the user to create complex 3D objects that has a 
  432. common frame - reference (center of gravity), an example of such an object 
  433. might be a Robot, that has a center of gravity, and is built of some sub 
  434. objects that must be able to be transformed both with the frame - reference, 
  435. and by themselves.
  436.  
  437. The RTOBJ.PAS (for - runtime object) unit file contains the definition of the 
  438. baseObj, obj3D and the complexObj classes.
  439.  
  440.  
  441. *******************************************************************************
  442. *                                 PROJECTIONS                                 *
  443. *******************************************************************************
  444.  
  445. The PROJECT3.PAS file contain the code that transforms objects and points from 
  446. the 3D universe, to the 2D coordinates.
  447.  
  448. Two 3D -> 2D transformations are supported, axonometric projection, and 
  449. perspective projection. This is a short explanation of the difference between 
  450. these 2 projections :
  451.  
  452.                A : axonometric projections, no perspective due to        
  453.                        distance is performed, the general way            
  454.                        we can look at the coordinate system is as        
  455.                        follows :                                         
  456.                                                                          
  457.                                |  z axis                                 
  458.                                |                                         
  459.                               / \                                        
  460.                     x axis   /   \  y axis                               
  461.                                                                          
  462.                B : perspective projections : the normal eye perspective  
  463.                        projection is performed, we can look at the 3d    
  464.                        universe we are referring to as a cube of          
  465.                        1000 x 1000 x 1000 integer locations, with        
  466.                        the x axis, and y axis parallel to the screen     
  467.                        x, y axis respectively, and the z axis going into  
  468.                        the screen.                                       
  469.                                                                          
  470.                        we will look at the coordinate system as follows :
  471.                                                                          
  472.                        │ Y axis                                          
  473.                        │                                                 
  474.                 Z axis x------ X axis                                    
  475.                                                                          
  476. These units contain a calcPoint procedure that receives a 3D point, and
  477. transforms it to a 2D screen coordinate, the setPerspective, 
  478. resetPerspective and togglePerspective change from perspective projection
  479. to axonometric projection, and vice versa.
  480.  
  481. *******************************************************************************
  482. *                                     CTM                                     *
  483. *******************************************************************************
  484.  
  485. CTM3D.PAS is the file that defines the current transformation matrix that is
  486. used to position the 3D objects in the universe. The CTM is a 4x4 matrix
  487. that is multiplied (from the right) by each point of the 3D object whenever
  488. a new location is desired for the object. 
  489.  
  490. This unit defines all the transformations that can be applied and used by a 
  491. CTM, like rotate, scale, translate etc..
  492.  
  493. *******************************************************************************
  494. *                                 3D2 FORMAT                                  *
  495. *******************************************************************************
  496.  
  497. The obj3D object files are files of type real, that has the following structure:
  498.  
  499. 1 Real entry : number of 3D points. (We will call in numOfPoints)
  500. numOfPoints entries that contain the following information :
  501.     1 Real Entry : X location in the 3D universe.
  502.     1 Real Entry : Y location in the 3D universe.
  503.     1 Real Entry : Z location in the 3D universe.
  504. 1 Real Entry : number of lines.  (We will call it numOfLines)
  505. numOfLines entries that contain the following information :
  506.     1 Real Entry : 3D Point Number of "From" edge of the line.
  507.     1 Real Entry : 3D Point Number of "To" edge of the line.
  508.  
  509. Please refer to the OBJ3D.README method that deals with reading this 3D file 
  510. format.
  511.  
  512.  To Create object of this kind - Please use the 3dO object compiler provided
  513.  with this package, or the 3D environment program available in a different
  514.  package, or with the registered version.
  515.  
  516. *******************************************************************************
  517. *                                 3DS FORMAT                                  *
  518. *******************************************************************************
  519.  
  520. The complexObj object files are files of real type that have the following 
  521. structure :
  522.  
  523. 1 Real Entry : Number of subobjects the complexObj contain (We will
  524.                 call it numOfChilds)
  525. numOfChilds entries that have the same structure as simple 3D2 files.
  526.  
  527. To Create object of this kind - Please use the 3dO object compiler provided
  528. with this package, or the 3D environment program available in a different
  529. package, or with the registered version.
  530.  
  531. *******************************************************************************
  532. *                                  Warranty                                   *
  533. *******************************************************************************
  534.  
  535. There is no warranty what so ever, The package is supplied as is, The 
  536. distributor (ISoft D&M), or the author (Loewy Ron), are not, and will not be 
  537. responsible for any damages, lost profits, or inconveniences caused by the use,
  538. or inability to use this package. The use of the package is at your own risk. 
  539. By using (or attempting to use) the package you agree to this.
  540.  
  541. *******************************************************************************
  542. *                                   General                                   *
  543. *******************************************************************************
  544.  
  545. 3dLIB is distributed by HyperAct Inc., 
  546.                         P.O.Box. 5517 
  547.                         Coralville 
  548.                         IA 52241, 
  549.                         U.S.A.
  550.  
  551. 3dLIB is (c) copyrighted by HyperAct, Inc., 1991,94.
  552.  
  553. 3dLIB is a shareware package, please register your copy. To register your copy 
  554. of 3dLIB please refer to the supplied 3DLIB.REG file. 
  555.  
  556. Other programs distributed by HyperAct Inc. are described in the supplied 
  557. PROGRAMS.TXT file.
  558.  
  559. *******************************************************************************
  560. *                                   Contact                                   *
  561. *******************************************************************************
  562.  
  563. Please contact :
  564.  
  565.         HyperAct, Inc.
  566.         P.O.Box 5517
  567.         Coralville IA 52241
  568.         U.S.A
  569.  
  570.         E-Mail  : Compuserve - 76350,333
  571.         Phone   : (319) 351-8413
  572.  
  573. To contact the author directly please write to : 
  574.  
  575.         E-Mail  : Compuserve - 100274,162
  576.  
  577.  
  578. *******************************************************************************
  579. *                                   Credits                                   *
  580. *******************************************************************************
  581.  
  582. 3dLib was written by Ron Loewy.
  583.  
  584. 3dLIB was written using Turbo Pascal 6.0 & 7.0, as well as  Turbo Pascal for 
  585. Windows 1.0, 1.5 and Borland Pascal with objects 7.0.
  586. These products are trademarks of Borland international.
  587.  
  588. Windows 3.0 and Windows 3.1 are trademarks of Microsoft Corp.
  589.  
  590. The Borland Brief v3.1 editor was used to write these programs.
  591.  
  592. The windows help file, as well as the TPH file were created using the help 
  593. development kit (HLPDK) v11.0 by Loewy Ron.
  594.  
  595. The Author's picture (in the 3dCW program) was taken by Allison Bially.
  596.