home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / graphics / virt3d_1 / !Virtual3D / details < prev   
Text File  |  1995-04-23  |  5KB  |  142 lines

  1. Now let's get technical..
  2.  
  3. !Virtual3D main features are:
  4.  
  5. - An optimal polygon plotroutine which is faster than any other routine
  6.   currently found on the Archimedes.
  7.  
  8.   It's maximum speed is not very impressive (11.4 MPixels/s on 8-Mhz ARM2,
  9.   23.0 MPixels/s on 25-Mhz A5000), because it it optimized for plotting
  10.   a large number of very small polygons. More than 50 percent of all
  11.   polygons is smaller than 32 by 32 pixels!
  12.   On an ARM2 it is about 15-20 times faster than the standard OS trianglefill
  13.   routine.
  14.   At this moment we are developing a new version of it, with 16-bit OS-class
  15.   clipping.
  16.  
  17. - An optimal polygon sorting algorithm which sorts polygons faster and
  18.   mathematically correct (in contrast to all other sorting routines).
  19.  
  20.   Most 3D programs spend a lot of time sorting the polygons in their
  21.   correct order. We have never seen a program that does this correctly.
  22.   We first sort the polygons of every object in the world seperately,
  23.   and then combine these polygons to get a scene.
  24.   We have currently implemented two Visible Surface Determination algorithms,
  25.   one of which takes optimal O(N) time to sort N polygons (as opposed to
  26.   at least O (N log N) time for Quicksort or O (N * N) time for Depthsort), and
  27.   one which takes NO (no!) time at all! Unfortunately, not all objects can be
  28.   sorted with the last method:
  29.   in our example-world only 5 of the 37 different objects couldn't.
  30.   Of course this sorting is only mathematically correct for every single object
  31.   in the world. Only when two objects collide, an additional sorting step is
  32.   needed. We will include it in the near future.
  33.  
  34. - Smart object rotation to reduce the number of points to be rotated.
  35.  
  36.   Mostly there are only a few different objects in a world, so the same objects
  37.   are placed at many positions in the world. When a scene contains two or more
  38.   objects of the same type (eg. a wood) we don't retransform these objects
  39.   multiple times. We have also numerous other point-rotation optimizations in
  40.   the pipeline, so we don't need machinecode for rotation for a while...
  41.  
  42. - Simple but powerful object animation.
  43.  
  44.   Objects can rotate, change shape, and translate. There is no collision
  45.   detection.
  46.  
  47. - Large and very dense worlds are possible.
  48.  
  49.   There is virtually no limit to the size of the world. The number of polygons
  50.   in a scene should not be more than about 200, otherwise the framerate will
  51.   be too low on an ARM2.
  52.  
  53. - Very high framerate (with an ARM3, it is so fast that sometimes more than
  54.   100 frames per second are generated!).
  55.  
  56.   Because of the fast algorithms used, the number of polygons in a scene and the
  57.   framerate can be very high compared to other 3D programs (we won't mention
  58.   any names... ( not even 4D)) Even the screen resolution can be higher in future.
  59.  
  60. - Programmed in high level C.
  61.  
  62.   Yes, 95% of the code is still C. We intend to write some more machinecode
  63.   (eg. rotation can be made 3 times faster), but at this moment the polygon
  64.   plotroutine is the most time-consuming routine (about 30% of the processor
  65.   time) and should be improved.
  66.   At this moment the demo also runs on UNIX/X-Windows, but will on any
  67.   computer which can draw polygons.
  68.  
  69.  
  70.  
  71. Our plans for the future:
  72.  
  73. - a 2D graphics library, including polygon, line, and rectangle drawing
  74.   (with optional gouraud shading or texturing), much faster than anything around
  75.  
  76. - a 3D graphics library, including transformation and sorting of objects
  77.   in a world from any viewpoint at any resolution
  78.  
  79. - an animation library for animating objects in the world (and objects within
  80.   objects) with models for generic cars, planes, and so on, with collision
  81.   detection
  82.  
  83. - an intelligence module which controls the cars, planes by giving simple
  84.   commands to an object, so objects can interact with each other
  85.  
  86. - an object editor (for drawing new objects)
  87.  
  88. - a world editor (for making new worlds, and animations)
  89.  
  90. Thanks...
  91.  
  92. - House with chimney, guard, army depot and radar stations 'borrowed' from PC
  93.   (y..k!) Flight Sim Toolkit (it's really bad on the PC!) by Simis
  94. - World and objects created using Archimedes Flight Sim Toolkit by Simis
  95. - The world is built using Simis World tool, which means that objects can be
  96.   positioned to an accuracy of 1.6 m (!). This is the reason for the strange
  97.   gaps in the road.
  98.  
  99. And again...
  100.  
  101. This software is freeware, © 1994, 1995 Mattijs van Delden & Wilco Dijkstra.
  102. (this means : keep your hands off!)
  103. You may distribute this software freely, provided that it contains all the files
  104. in the list below:
  105.  
  106.    !Boot
  107.    !Run
  108.    !Sprites
  109.    a
  110.    b
  111.    c
  112.    d
  113.    !RunImage
  114.    !Help
  115.    Details
  116.  
  117.   and that they remain unaltered! If you cannot guarantee not to use !Dissi or
  118.   something else, please erase this program now! We know where you live!
  119.   Try making something better instead of wasting your cheap time.
  120.   If you are interested in 3D stuff or you just want to tell us how lovely you
  121.   think the program is (a cheque saves you the trouble of writing to us) contact us.
  122.   We intend to keep developing the program and we could use people that can for example
  123.  
  124.   - write WIMP-editors for Objects and World
  125.   - Know about modelling planes, cars, maybe even bees (?..)
  126.   - program brilliantly
  127.   - design 3D objects and worlds
  128.   - Have ideas for 3D games, but not the programming skills (yes, you 90% of UK)
  129.  
  130. You can contact us on:
  131.  
  132. csg215@cs.rug.nl or csg216@cs.rug.nl
  133.  
  134. Wilco Dijkstra / Mattijs van Delden
  135. Kombuis 28
  136. 9732 GB Groningen
  137. Netherlands
  138.  
  139.  
  140.  
  141.  
  142.