Brussels, 4th July 1994 Hello world! :) Summary: ------- 1. What's up? 2. Converter 3. Viewer 4. Greetings and blah blah 1. So then, what the fuck is up? (that one was for MTv, they're -------------------------------- bugging me with their censorship.) Here we are with a new version of our 3d objects viewing package. The name has changed, but hey, the program has too! For you, the millions of guys that just have bought a falcon, and that didn't see our first program, 3danim, you'll be able to optimise *.3d2 (cybersculpt) files, and view and animate them in realtime, if you've got a FALCON030. Ok, so what has changed? -We split the *.3d2 viewer into two programs: * a converter, who optimises, scales and converts the 3d2 objects into our new *.3dx file format (see the description of this format in the file 3dxform.txt), done by Nikopol. * a viewer, that animates the 3dx objects, mainly done by Nemrod. -The DSP code has been totally rewritten by Nemrod. You can and should copy it round and around, but these files must stay in the same folder, and they must remain unchanged: -cv68000.prg (68000 converter) -cv68020.prg (68020 converter) -cv20_881.prg (68020 + 68881 converter) -Watcher.prg (68020 + DSP56001 viewer) -readme.txt (this) -3dxform.txt (this file explains the new format) -thingy7.lod (dsp program) -WARNING-WARNING-WARNING-WARNING--WARNING-WARNING-WARNING-WARNING- this program might damage your bicycle, if you have one, but we assume no responsibility, etc, etc.... no i'm joking... this program shouldn't damage your bicycle, but if it does, we can't be held responsible. this means: use this program at ur own risk. 2. The converter ---------------- a. What does it do? The 3d2 objects are described as a collection of trinagular faces. This is great when you've got some hardware to display triangles (as in Silicon Graphics computers), but our great atari devs have forgotten this bit on the Falcon (actually i'm sure they even didn't think about it :)). So, on our Falcon, we have to draw our faces by software. Now what this program does is removing double instances of the same point (so that it won't be rotated twice), merge the triangles that are on the same plane into bigger, convex faces, and (for the wireframe display) remove the lines that belong to two different faces on one of the two, so that they aren't drawn twice. b. How can i use it? You don't need a falcon for this program, but, as i use the fselexinput(sp?) system call, you'll need a selectric type fileselector on TOSes that don't have this call. If this doesn't work, please let me know, i'll test that call, and call the old fileselector on old TOSes. You'll need a great deal of memory though, for big objects (2Megs). The program works this way: First you choose the source *.3d2 file with the fileselctor, then, depending on how big and vicious your object is, you can have a glass of water, a cup of coffee, two cups, or three, or whatever. Then you get another fileselector for the destination file, and so on until you cancel one of the fileselector boxes (makes many cups of coffee :)). i think there are still bugs in this version: - i must have forgotten to free memory somewhere, because on huge objects, you get a heap overflow, or even a bus error. - fileselector bug on old TOSes. (don't know the exact number, but at least <2.06) - the overall gain is not well calculated - i can't think of another features (not bugs): - the triangles merging routine uses a backtracking method (and far from being the best you can write), but i got another one in mind that uses far less stack and less memory. It will be a lot faster, too. - the wireframe optimisation rout creates convex faces, but you don't need convex faces when displaying wireframe objects, so the wireframe object can still be optimised. - this converter doesn't create a complete 3dx file (but it still is correct, syntactically (sp?)), as it doesn't create the long range and the medium range objects, and more important, i still haven't programmed the BSP tree generator, for the shaded faces display. - the objects are scaled for the 320*240 (200) resolution. future: - new convex faces merging rout. - new wireframe optimiser. - optimum BSP-tree generator. (PS 3d2 objects are objects from the CYBER serie done By Tom Hudson) CAD3D,CYBERSCULPT,CYBERSTUDIO,.... 2. The Viewer Part: (you need a Falcon ;) ) ------------------- How to use it: ---------------- - mouse for the rotation - left button to change view type (wireframe, flat shading, dots) - right button to leave What's new: ------------- - Can take objects of any size (in bytes) (the object is splitted for the Dsp) but there is a little bug ( and not with the biggest objects :) we haven't got a clue why this happens). - still no clipping (this is not new) :) - Dots view - WireFrame view - New Flatshaded view - New key rout (from Digital Chaos, thanks a lot) - Triple buffering because most objects are animate in more than 1 vbl. In fact, 90 % of the code has been rewritten and there are still many things to do like: - I know, I know, there is no projection, I will do that with clipping routs and zoom functions. - Shading the dots part (just function of z-depth). - Gouraud and maybe Phong display. - The display in other resolutions; in fact the routs are done, but I don't know if I want to change the res in realtime or if I need a little menu for doing that. (the display in 4 bitplanes is fast for the same result than the actual flatshading). - Optimisation of Display in Flat shading (actually move.w) - Optimisation of WireFrame display (in fact compression of the data transferred from the dsp) - Actually, there is no sorting, no scanline..., we want to use the BSP-Tree method or the z-buffering with dsp-buffer if it's fast enough ... Z-Buffering is a problem because the memory of the dsp is too small for a good buffer( I mean precision like 16 or 24 bits and big resolution like 640x480 ), but there is a solution if you use a Z-buffer just for one scanline. - There are many things in the dsp code that are not optimized, like the rotation part who doesn't take advantage of x and y bank parallel moves simultaneously(but I will change the rotation part for a more general transformation matrix). - The sending part (030) is actually really slow because it transforms 16 bits data 32 bits datas for the sign extension. (It would be interesting to do this conversion before the animation :) ) BUGS: - Some trouble with some big objects (not found) - Some trouble in animation when the title screen is displayed ( ?? ) (if you found some other bugs, contact us) - If you have a boosted Falcon, maybe the viewer won't work because the communication routs are done for a slow central processor ( the 68030 at 16 Mhz :) ) and a Fast Dsp, so if you send me a request I can maybe do 2 sorts of communications rout... The Future: At the moment, our viewer looks more like a demo than an utility program, and maybe some interesting functions should be added to the viewer. If you have any propositions or questions about this viewer ( or about everything else), contact us. 4. Greetings and blah blah -------------------------- Greetingz to all the irc friends on #atari. Infinity,Griff,Sedma,Stfb,Dodge,ED030,Puujalka,TheFate,Tipon Crac,Ben,Bodf030,Gunstick,Hackbear,Algorithm,Dnt-crew,Ava030,spiff, D_Gently,Gryf,Rodders,Corsair,Skaze,MrSpock,Tat,Scrap,MickMouse ....(and everyone we have forgotten) Greets to: Dune (Evil Metal,..),Aura, Lazer (how's your LANIX OS?), Cream, Digital Chaos, NPG (Hi Apollo, when is your wolf game coming? RSN?), and eh..., everyone in the Independent and, ... (i think i got a hole in my brain) Thanks to: Everyone that liked 3danim and that encouraged us to go on, especially on irc::#atari. Special Thanks to: Tipon (hey, do some jazz mods, i still think it's a great idea), Sam, Khi^2 (Damn, i hate that name), for their discouraging actions. Finally, these progs r postcardware, OK? so if you feel like it and have some extra poststamps and like these programs, send us a postcard. Nikopol (Flatliner) Nemrod (Cster) email: Nikopol: lmuniz@bfu.ac.be Nemrod: csterpin@bfu.ac.be smail: Nikopol: Luis Muniz 564, chee de Boondael B-1050 Brussels Belgium from august/september on: Luis Muniz 54, rue Dillens B-1050 Brussels Belgium Nemrod: Christian Sterpin 42, rue des combattants B-1400 Nivelles Belgium ÛÛ²²²²²²±±Üß²²²²²²²²ÛÜ ²²²²²±±Ü ß²²²²²²ÛÛÜ ÛÛÜ Û²² ܲ²ÛÛÜ ßßßßßßßßß°°²Üß²²²ßßßßßßßßßßßß°°²Ü ²²ßßßßßß Û²²Ü ²²² ²±±ßß²²² °°² ²±± °°² ²±± ²²± ²±± ±±± ±±° Pc °°± °±± ±²Ü ÜÜÜÜÜ °°± ß±±±±±°Ü ²²± ±±° ±±° ±±° Demos St/Falcon °°± ±°± ßßßß ßÜß °°± ßßßß±° ±±± ±±° ±°° ±°° Demos Amiga °±± °°°ÜÜÜÜÜ °°±°° °±± ÜÜÜÜÜ°° °°± °°° ±°°ÜÜ°°° Demos °±± °°°°°°°°° °²° °±± Ü°°°°°°°ß ß°°°°ß ß°°°°ß ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³+32 2 772 52 29³ WHQ BHQ DistSite ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ Funvision Animal Mine North Crew 24/24 TRB Void Supreme Zuul Coders In Action MenaceIISocietY Channel 38