Home » Archimedes archive » Acorn User » AU 1993-09.adf » !3DGraphic_3DGraphic » 3DDemo3+

3DDemo3+

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1993-09.adf » !3DGraphic_3DGraphic
Filename: 3DDemo3+
Read OK:
File size: 045F bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >3DDemo3+
   20REM By  DCA
   30REM For 32-bit machines
   40REM (c) September 1993
   50REM
   60REM Updates:
   70REM
   80REM Includes graphics window demo (to ensure clipping works)
   90REM and rotation about more than one axis.
  100REM New cathedral definition is 'closed' for hidden surface removal
  110:
  120*RMEnsure BAU3D 0.30 Error Please load BAU3D module first.
  130MODE 13
  140OFF
  150heap_size=128*1024
  160DIM heap heap_size
  170SYS "BAU3D_HeapInit",heap,heap_size
  180dist=800:zplus=10000
  190ang_scale=&10000/360
  200SYS "BAU3D_WriteConfig",%010,dist,zplus,-zplus*0.8,10000000
  210SYS "BAU3D_Load","objects.cathedral",1000 TO scene
  220DIM view_xyz 12,view_ang 12
  230spr_size%=750*1024
  240bank%=1
  250REPEAT
  260 FOR view=0 TO 359 STEP 5
  270  WAIT
  280  SYS 6,113,bank%
  290  bank%=3-bank%
  300  SYS 6,112,bank%
  310  COLOUR 128+16
  320  CLS
  330  ORIGIN 640,512
  340  c=COSRAD(view)
  350  w=500+100*c
  360  h=400+100*SINRAD(view)
  370  VDU 24,-w;-h;w;h;
  380  GCOL 128+0 TINT 0
  390  CLG
  400  view_xyz!0=0
  410  view_xyz!4=-40000-30000*c
  420  view_xyz!8=200000+100000*c
  430  view_ang!0=0
  440  view_ang!4=view*ang_scale
  450  view_ang!8=2000*c
  460  SYS "BAU3D_Render",scene,view_xyz,view_ang
  470 NEXT
  480UNTIL FALSE
  490END

�     >3DDemo3+

� By  DCA
� For 32-bit machines
(� (c) September 1993
2�
<� Updates:
F�
P>� Includes graphics window demo (to ensure clipping works)
Z,� and rotation about more than one axis.
dE� New cathedral definition is 'closed' for hidden surface removal
n:
x>*RMEnsure BAU3D 0.30 Error Please load BAU3D module first.
�� 13
��
�heap_size=128*1024
�� heap heap_size
�&ș "BAU3D_HeapInit",heap,heap_size
�dist=800:zplus=10000
�ang_scale=&10000/360
�>ș "BAU3D_WriteConfig",%010,dist,zplus,-zplus*0.8,10000000
�4ș "BAU3D_Load","objects.cathedral",1000 � scene
�� view_xyz 12,view_ang 12
�spr_size%=750*1024
�bank%=1
��
 � view=0 � 359 � 5
  Ȗ
  ș 6,113,bank%
"  bank%=3-bank%
,  ș 6,112,bank%
6  � 128+16
@  �
J  ȑ 640,512
T  c=��(view)
^  w=500+100*c
h  h=400+100*��(view)
r  � 24,-w;-h;w;h;
|  � 128+0 Ȝ 0
�  �
�  view_xyz!0=0
�  view_xyz!4=-40000-30000*c
�   view_xyz!8=200000+100000*c
�  view_ang!0=0
�  view_ang!4=view*ang_scale
�  view_ang!8=2000*c
�/  ș "BAU3D_Render",scene,view_xyz,view_ang
� �
�� �
��
�
00000000  0d 00 0a 13 f4 20 20 20  20 20 3e 33 44 44 65 6d  |.....     >3DDem|
00000010  6f 33 2b 0d 00 14 0d f4  20 42 79 20 20 44 43 41  |o3+..... By  DCA|
00000020  0d 00 1e 19 f4 20 46 6f  72 20 33 32 2d 62 69 74  |..... For 32-bit|
00000030  20 6d 61 63 68 69 6e 65  73 0d 00 28 18 f4 20 28  | machines..(.. (|
00000040  63 29 20 53 65 70 74 65  6d 62 65 72 20 31 39 39  |c) September 199|
00000050  33 0d 00 32 05 f4 0d 00  3c 0e f4 20 55 70 64 61  |3..2....<.. Upda|
00000060  74 65 73 3a 0d 00 46 05  f4 0d 00 50 3e f4 20 49  |tes:..F....P>. I|
00000070  6e 63 6c 75 64 65 73 20  67 72 61 70 68 69 63 73  |ncludes graphics|
00000080  20 77 69 6e 64 6f 77 20  64 65 6d 6f 20 28 74 6f  | window demo (to|
00000090  20 65 6e 73 75 72 65 20  63 6c 69 70 70 69 6e 67  | ensure clipping|
000000a0  20 77 6f 72 6b 73 29 0d  00 5a 2c f4 20 61 6e 64  | works)..Z,. and|
000000b0  20 72 6f 74 61 74 69 6f  6e 20 61 62 6f 75 74 20  | rotation about |
000000c0  6d 6f 72 65 20 74 68 61  6e 20 6f 6e 65 20 61 78  |more than one ax|
000000d0  69 73 2e 0d 00 64 45 f4  20 4e 65 77 20 63 61 74  |is...dE. New cat|
000000e0  68 65 64 72 61 6c 20 64  65 66 69 6e 69 74 69 6f  |hedral definitio|
000000f0  6e 20 69 73 20 27 63 6c  6f 73 65 64 27 20 66 6f  |n is 'closed' fo|
00000100  72 20 68 69 64 64 65 6e  20 73 75 72 66 61 63 65  |r hidden surface|
00000110  20 72 65 6d 6f 76 61 6c  0d 00 6e 05 3a 0d 00 78  | removal..n.:..x|
00000120  3e 2a 52 4d 45 6e 73 75  72 65 20 42 41 55 33 44  |>*RMEnsure BAU3D|
00000130  20 30 2e 33 30 20 45 72  72 6f 72 20 50 6c 65 61  | 0.30 Error Plea|
00000140  73 65 20 6c 6f 61 64 20  42 41 55 33 44 20 6d 6f  |se load BAU3D mo|
00000150  64 75 6c 65 20 66 69 72  73 74 2e 0d 00 82 08 eb  |dule first......|
00000160  20 31 33 0d 00 8c 05 87  0d 00 96 16 68 65 61 70  | 13.........heap|
00000170  5f 73 69 7a 65 3d 31 32  38 2a 31 30 32 34 0d 00  |_size=128*1024..|
00000180  a0 14 de 20 68 65 61 70  20 68 65 61 70 5f 73 69  |... heap heap_si|
00000190  7a 65 0d 00 aa 26 c8 99  20 22 42 41 55 33 44 5f  |ze...&.. "BAU3D_|
000001a0  48 65 61 70 49 6e 69 74  22 2c 68 65 61 70 2c 68  |HeapInit",heap,h|
000001b0  65 61 70 5f 73 69 7a 65  0d 00 b4 18 64 69 73 74  |eap_size....dist|
000001c0  3d 38 30 30 3a 7a 70 6c  75 73 3d 31 30 30 30 30  |=800:zplus=10000|
000001d0  0d 00 be 18 61 6e 67 5f  73 63 61 6c 65 3d 26 31  |....ang_scale=&1|
000001e0  30 30 30 30 2f 33 36 30  0d 00 c8 3e c8 99 20 22  |0000/360...>.. "|
000001f0  42 41 55 33 44 5f 57 72  69 74 65 43 6f 6e 66 69  |BAU3D_WriteConfi|
00000200  67 22 2c 25 30 31 30 2c  64 69 73 74 2c 7a 70 6c  |g",%010,dist,zpl|
00000210  75 73 2c 2d 7a 70 6c 75  73 2a 30 2e 38 2c 31 30  |us,-zplus*0.8,10|
00000220  30 30 30 30 30 30 0d 00  d2 34 c8 99 20 22 42 41  |000000...4.. "BA|
00000230  55 33 44 5f 4c 6f 61 64  22 2c 22 6f 62 6a 65 63  |U3D_Load","objec|
00000240  74 73 2e 63 61 74 68 65  64 72 61 6c 22 2c 31 30  |ts.cathedral",10|
00000250  30 30 20 b8 20 73 63 65  6e 65 0d 00 dc 1d de 20  |00 . scene..... |
00000260  76 69 65 77 5f 78 79 7a  20 31 32 2c 76 69 65 77  |view_xyz 12,view|
00000270  5f 61 6e 67 20 31 32 0d  00 e6 16 73 70 72 5f 73  |_ang 12....spr_s|
00000280  69 7a 65 25 3d 37 35 30  2a 31 30 32 34 0d 00 f0  |ize%=750*1024...|
00000290  0b 62 61 6e 6b 25 3d 31  0d 00 fa 05 f5 0d 01 04  |.bank%=1........|
000002a0  17 20 e3 20 76 69 65 77  3d 30 20 b8 20 33 35 39  |. . view=0 . 359|
000002b0  20 88 20 35 0d 01 0e 08  20 20 c8 96 0d 01 18 14  | . 5....  ......|
000002c0  20 20 c8 99 20 36 2c 31  31 33 2c 62 61 6e 6b 25  |  .. 6,113,bank%|
000002d0  0d 01 22 13 20 20 62 61  6e 6b 25 3d 33 2d 62 61  |..".  bank%=3-ba|
000002e0  6e 6b 25 0d 01 2c 14 20  20 c8 99 20 36 2c 31 31  |nk%..,.  .. 6,11|
000002f0  32 2c 62 61 6e 6b 25 0d  01 36 0e 20 20 fb 20 31  |2,bank%..6.  . 1|
00000300  32 38 2b 31 36 0d 01 40  07 20 20 db 0d 01 4a 10  |28+16..@.  ...J.|
00000310  20 20 c8 91 20 36 34 30  2c 35 31 32 0d 01 54 10  |  .. 640,512..T.|
00000320  20 20 63 3d 9b b2 28 76  69 65 77 29 0d 01 5e 11  |  c=..(view)..^.|
00000330  20 20 77 3d 35 30 30 2b  31 30 30 2a 63 0d 01 68  |  w=500+100*c..h|
00000340  18 20 20 68 3d 34 30 30  2b 31 30 30 2a b5 b2 28  |.  h=400+100*..(|
00000350  76 69 65 77 29 0d 01 72  15 20 20 ef 20 32 34 2c  |view)..r.  . 24,|
00000360  2d 77 3b 2d 68 3b 77 3b  68 3b 0d 01 7c 12 20 20  |-w;-h;w;h;..|.  |
00000370  e6 20 31 32 38 2b 30 20  c8 9c 20 30 0d 01 86 07  |. 128+0 .. 0....|
00000380  20 20 da 0d 01 90 12 20  20 76 69 65 77 5f 78 79  |  .....  view_xy|
00000390  7a 21 30 3d 30 0d 01 9a  1f 20 20 76 69 65 77 5f  |z!0=0....  view_|
000003a0  78 79 7a 21 34 3d 2d 34  30 30 30 30 2d 33 30 30  |xyz!4=-40000-300|
000003b0  30 30 2a 63 0d 01 a4 20  20 20 76 69 65 77 5f 78  |00*c...   view_x|
000003c0  79 7a 21 38 3d 32 30 30  30 30 30 2b 31 30 30 30  |yz!8=200000+1000|
000003d0  30 30 2a 63 0d 01 ae 12  20 20 76 69 65 77 5f 61  |00*c....  view_a|
000003e0  6e 67 21 30 3d 30 0d 01  b8 1f 20 20 76 69 65 77  |ng!0=0....  view|
000003f0  5f 61 6e 67 21 34 3d 76  69 65 77 2a 61 6e 67 5f  |_ang!4=view*ang_|
00000400  73 63 61 6c 65 0d 01 c2  17 20 20 76 69 65 77 5f  |scale....  view_|
00000410  61 6e 67 21 38 3d 32 30  30 30 2a 63 0d 01 cc 2f  |ang!8=2000*c.../|
00000420  20 20 c8 99 20 22 42 41  55 33 44 5f 52 65 6e 64  |  .. "BAU3D_Rend|
00000430  65 72 22 2c 73 63 65 6e  65 2c 76 69 65 77 5f 78  |er",scene,view_x|
00000440  79 7a 2c 76 69 65 77 5f  61 6e 67 0d 01 d6 06 20  |yz,view_ang.... |
00000450  ed 0d 01 e0 07 fd 20 a3  0d 01 ea 05 e0 0d ff     |...... ........|
0000045f