home *** CD-ROM | disk | FTP | other *** search
- Now let's get technical..
-
- !Virtual3D main features are:
-
- - An optimal polygon plotroutine which is faster than any other routine
- currently found on the Archimedes.
-
- It's maximum speed is not very impressive (11.4 MPixels/s on 8-Mhz ARM2,
- 23.0 MPixels/s on 25-Mhz A5000), because it it optimized for plotting
- a large number of very small polygons. More than 50 percent of all
- polygons is smaller than 32 by 32 pixels!
- On an ARM2 it is about 15-20 times faster than the standard OS trianglefill
- routine.
- At this moment we are developing a new version of it, with 16-bit OS-class
- clipping.
-
- - An optimal polygon sorting algorithm which sorts polygons faster and
- mathematically correct (in contrast to all other sorting routines).
-
- Most 3D programs spend a lot of time sorting the polygons in their
- correct order. We have never seen a program that does this correctly.
- We first sort the polygons of every object in the world seperately,
- and then combine these polygons to get a scene.
- We have currently implemented two Visible Surface Determination algorithms,
- one of which takes optimal O(N) time to sort N polygons (as opposed to
- at least O (N log N) time for Quicksort or O (N * N) time for Depthsort), and
- one which takes NO (no!) time at all! Unfortunately, not all objects can be
- sorted with the last method:
- in our example-world only 5 of the 37 different objects couldn't.
- Of course this sorting is only mathematically correct for every single object
- in the world. Only when two objects collide, an additional sorting step is
- needed. We will include it in the near future.
-
- - Smart object rotation to reduce the number of points to be rotated.
-
- Mostly there are only a few different objects in a world, so the same objects
- are placed at many positions in the world. When a scene contains two or more
- objects of the same type (eg. a wood) we don't retransform these objects
- multiple times. We have also numerous other point-rotation optimizations in
- the pipeline, so we don't need machinecode for rotation for a while...
-
- - Simple but powerful object animation.
-
- Objects can rotate, change shape, and translate. There is no collision
- detection.
-
- - Large and very dense worlds are possible.
-
- There is virtually no limit to the size of the world. The number of polygons
- in a scene should not be more than about 200, otherwise the framerate will
- be too low on an ARM2.
-
- - Very high framerate (with an ARM3, it is so fast that sometimes more than
- 100 frames per second are generated!).
-
- Because of the fast algorithms used, the number of polygons in a scene and the
- framerate can be very high compared to other 3D programs (we won't mention
- any names... ( not even 4D)) Even the screen resolution can be higher in future.
-
- - Programmed in high level C.
-
- Yes, 95% of the code is still C. We intend to write some more machinecode
- (eg. rotation can be made 3 times faster), but at this moment the polygon
- plotroutine is the most time-consuming routine (about 30% of the processor
- time) and should be improved.
- At this moment the demo also runs on UNIX/X-Windows, but will on any
- computer which can draw polygons.
-
-
-
- Our plans for the future:
-
- - a 2D graphics library, including polygon, line, and rectangle drawing
- (with optional gouraud shading or texturing), much faster than anything around
-
- - a 3D graphics library, including transformation and sorting of objects
- in a world from any viewpoint at any resolution
-
- - an animation library for animating objects in the world (and objects within
- objects) with models for generic cars, planes, and so on, with collision
- detection
-
- - an intelligence module which controls the cars, planes by giving simple
- commands to an object, so objects can interact with each other
-
- - an object editor (for drawing new objects)
-
- - a world editor (for making new worlds, and animations)
-
- Thanks...
-
- - House with chimney, guard, army depot and radar stations 'borrowed' from PC
- (y..k!) Flight Sim Toolkit (it's really bad on the PC!) by Simis
- - World and objects created using Archimedes Flight Sim Toolkit by Simis
- - The world is built using Simis World tool, which means that objects can be
- positioned to an accuracy of 1.6 m (!). This is the reason for the strange
- gaps in the road.
-
- And again...
-
- This software is freeware, © 1994, 1995 Mattijs van Delden & Wilco Dijkstra.
- (this means : keep your hands off!)
- You may distribute this software freely, provided that it contains all the files
- in the list below:
-
- !Boot
- !Run
- !Sprites
- a
- b
- c
- d
- !RunImage
- !Help
- Details
-
- and that they remain unaltered! If you cannot guarantee not to use !Dissi or
- something else, please erase this program now! We know where you live!
- Try making something better instead of wasting your cheap time.
- If you are interested in 3D stuff or you just want to tell us how lovely you
- think the program is (a cheque saves you the trouble of writing to us) contact us.
- We intend to keep developing the program and we could use people that can for example
-
- - write WIMP-editors for Objects and World
- - Know about modelling planes, cars, maybe even bees (?..)
- - program brilliantly
- - design 3D objects and worlds
- - Have ideas for 3D games, but not the programming skills (yes, you 90% of UK)
-
- You can contact us on:
-
- csg215@cs.rug.nl or csg216@cs.rug.nl
-
- Wilco Dijkstra / Mattijs van Delden
- Kombuis 28
- 9732 GB Groningen
- Netherlands
-
-
-
-
-