atari-sources-request@daisy.UUCP (10/21/87)
Submitted by: Allen King <imagen!ucbvax!bfly-vax.bbn.com!aking> comp.binaries.atari.st: Volume 1, Issue 8 Archive-name: pearle1/Part04 +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ [Editor's Note] I haven't had the free time on my ST (sad to say) to spend the many hours needed to test this so i am going to have to take the author's word that it works, I have tested the display program and it works. here's the checksums: bytes = 31299( 31799) cksm = 1051 pearle1.uaa bytes = 31302( 31802) cksm = 1153 pearle1.uab bytes = 31302( 31802) cksm = 3064 pearle1.uac bytes = 6821( 6934) cksm = 130 pearle1.uad +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ Jim, The following will be posted to comp.binary.atari.st when I figure out how. (see recent posting to info-atari16) But till then here's an early copy. This is an excerpt from the .doc file, but I put it here so you won't have to de-uue&ark to read. Tell me if it is too long: Allen King aking bfly-vax.bbn.com ucbvax PEARLE.PRG PEARLE.PRG renders 3-dimensional scenes in a world of reflective and refractive spheres, using ray tracing techniques. Movies formed from sequences of frames can be generated, showing reflective balls linked and bouncing in a gravitational field. They resemble a string of bouncing pearles -- hence the name. The amount of computation required to produce one ray traced image on an ST is enormous -- it is measured in hours. To display animated movies, images must be precomputed in (overnight) batch runs. PEARLE provides the ability generate sequences of images on disk in Degas PI1 format, for later replay by BLASTRAM.TTP (also included). The ray tracing heart of PEARLE was taken from net.sources, documented Fredrich Knauss of University of California, San Diego. I've ported it to the ST, added animation, (primitive) color, and the various other features you see here. I place PEARLE in the public domain, for non-comercial use only. PEARLE.PRG runs only on a color ST in low resolution. 1 Meg is required if resolutions greater than one ray per pixel or replaying movies from RAM is desired. Operation with only 512K will produced slightly aliased pictures (one ray per pixel) which can be displayed staticaly, slowly from floppy, or from hard disk (if you have a disk blaster program). The rest of this document contains sections entitled Getting Started, Configuration File Format, and Checkpointing. The sources are available upon request. With enough interest I could post them. table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin part d pearle1.uad MAPV!@@81# !@"Q& .]@$+81 // 73P@ '[P!%& !Z]P"^WA(#0 P2<7^1w M*<%6)B] 88"0( @P!EH' !$ ")GP!VL !/U$/@ 4Q"R UCT#[P08-*5$>'Qv M%@$0$3=S2PV!"/^ " #@BT92.P4Q LVW6Q>T?U\89C^0-?GW)-VA/=#8)Z$Ru M)L"0 +]@#ID$ ?@0 0=P2OJ2 />0#F[@ 9G A?H 4P'N!0$"RQ6UCU$+M%t M/Q[ C @B!D\D4@ P#\ P [_P#( P!UD! ,B7% 8A,=Y '=\C54=T!__0@# Ps M+)FR@'N((!GF$+-4:!CI > T +.'ALPB4Y8&C04%?UJQ/1^2#X-@ P-P P,0r M U[ #Z<P!'GP"^WA 3] 0N_0'C^ #@D1""KS'UFQ,\_V;![C#R 0 (L' *BRq M!L!P#<#0!W A@IPB@;3$)^=ADA\0 'CG ' E</W(VFXAE%QE3UR(/I81GYAp M7H=&.R9I@DS2)REVB27)?U%4#P!PCJ?Q!@) #+^P"X/P#H_P"!#07K'V"0@0o M /0@ ..0*!ET-&(181\@!8#0",N1". P!?C0#N>0!-8$6'8A%8L'#P( %7_Vn M(_P0#/+F#]'P#\%P>(?7'@7!@06A0090$.W!@8,$&'F1+%?QE79VAK(%""/Ym M6#_4#P$P#@("!6 "C7 -7P/@@1!CG0"39 (OHR#K>320^Q#Z"P7\_U 3( l M"LS@/F;V#R4 #YH #_X!C54S*DES!Y@&G !0/>TA,/D@A[TH1$+$G@5@&MC(k MC"%9-4DQ#QTH#O_0"3RC(+]9<[(%,P# %67I#/<0"Q(H@5:@(L& "/[@#4'Pj M J.@"'Q0!UMG37[P ($ #UG!$HP #F/P ?#T =P0#B-@$R!@#WB "+H0#+X i M &AQ$0)')SU0)Q?A'0=R 0G!'^/P 8B#.&0)AX'V.G\DC57C!_^0"SQZI2@Ch MGUI* !;(*3_P -X0<!B)#K&BA'-P ?& #C0#?UP#H>0#+\@ "#0#]VP)&\Vg M0$SP1P^ /-P#X]P$SP0"!P0##\J542:$$'T%\^&AA6#.3[D4-(8J0_"@9,Jf MJ44G;&]Q ' !%Y>VI<#W6-MC *O8+ @11[2%%Z$56H(X#CI0 RH0 G$ !+K@e M"0:P C)@C,^ #S-P# , &R;0 /HP#P(8#WP@,1\P!.Y064X3?#]R0P^*,H?Td M([[Y7,<(60))'5G*H,_"!__ "4F2;FVYH%>Q*04P+,$'#P< #\DU*BIFD?O0c M#L6'5A(0"?C !@> )$AR'N3P )N0("MX &1&!P4P#GUP)!\P .]068.D?<'Xb M( SY54AG))SBFM*H0+(8C5Z8L59XK;O4$#0Z%I]:<V!DIW*".28+#BF6$G$4a MJK0958S5(S\@",;0!_]4" - #/PP%X/ !_?Z %P#Y6E;25)3,#9*QP8$9HEz ML5Q*:3^"%0\ #O-0;,MZ(#?F##.5;ORW,U#AJ0.Q/?VY1A29( ?P!RYE.Q;9y MLMYS()SB" (0!QE1'F !)K .P/ #P,@ <@"-XQ "63$B53-75& /?P!\_Bx M(( K?![%?/:S&'&0K<!'&>>0*&6F05\[B)[:KE.J;CJF8W$)JF?+LEE10Z@Ew M.7Q''K U!AQP#VG %+S1@5+1?<\*N,2W#]_0JW47@;PT:!(ID1A+86_AF9SZv MN119)LDEKI:(.W+R?5TKO#QFD0VV1:#Q$ (@ 4:!$$@B7[SP"9J )+QQ .!&u M9_^!$%%$M PJ)F("?-'**?PP!H#@(-SZ$,O+;'4&1I7Z'[_T=?);-0]"$?-"t MI>(:O-@',$+1.%$26[#6LJ'*%]@(A0^AAIG@#Z: ( 10"3P #;J@ !R "58Qs M%PJA$%91$'L0L9;7"P# K4C[7#]R5P?9"B*,=*^C$!,K&@[1 QA->_Q'B%[r M&O_P;$5R +\ 6#X,PYB3'=+%LJ&*#P1@ $]0 +I !+S V$ #A14$P70 Y\@q M "H # T0J1W\#Z@R+Z@BNT@WB#L335FHM-&$+^.;CI9W1'[@#[WF4A#P ?CPp M OSP OCP /BP,UA& (NQ;']A:$'B X3[(+3(+#O!O 9 #_,8"PG@#@0@<#\Po M", @ .QQ 3F "L" # ;@BU%D$)KW#]Z ,P PRF)<-7[W#]TB8C\45@FEH++Un M(X#U !'Q8@%)N;13*0]5,IN:%%%4*^NI09V2;G2H*3*ER.3 0P@"AK "0Q m M)SY #&$@",_R WP'"PK !',A '5D(7_Q 8#P#IU(8<N:O@30(8:TQ@JZ?;P"l M #L /OG4@J .0<"&GZAP]GG P/0#[;Q'53S/!Q[K8SJN<W+/<J AM 22 k M!PJ %@B !WD !5< +0,0#Y2@ .A0?%]W +2LJ4%<FI7W(R'L!P*"= I: /OWj M.R)C%_^1*5+R+%R'( BQ&.<HSYBSMXR1$E8UA#V2>@ALD8( !V[ !!1 "P)@i M/T=-"D"0#5(Q .% 1C- 5GA/2SQ4K7;'[4+TNP\RA\0".LAK98G%JC"!>(Qh M?) P9>F!:<D! #Q--8#C,6$KM&:= +;$?[0)".C !]9@ #K&#S!@ %JP >,0g M#G 6X- "T2 ##@@M*Q7 CK'X^MU8%[#[\P0><05E0P?%UZ -[@#".P ]Q0f MR@B!"-QP!SN $ 8P 'G !* @='NT,SL#"61(?%#A!8"PHYL2 1_05OKP!?A e MQW^1 SEVS&C8<'\\E@SJ-$)):0O88#W=!\UP#WZ@"$7P#_N6"6& ' 7!C4B d M">?0(1# 0>E6(;R!#_Z0.BX5 ?L0 ,;93@^";04P, _R'RK(:?O$ )CS9JLUc M*@]E3>FQ2@2M*^PZ /=@'LG]$*;!*::Q6["ALL[-*2 P#^/ !A]P"2%P#ZD b M"'N0#<3P ^FP%$<0$L9 ,PN+=(LQ$-Q*'A%@$Q1A$V4\SC9'-0[@'?:,>R]Fa M&(;Q'<=%4V;+*0^ #5%T ,<04V;F7(67.K+[1U38TVT@"VSV"#'P#K%8#5,Pz M!/Y0#7+Z#%( #W]:GCP3.>E(I4"3VP?R+!97?8 @9W#T=2L. .[S++L=(>S6y M(U:9W![3'L#P#3^0X$-<=]K'$LZZY%7C!>3P G\0#6#P!4[5!PD@"H@ F+Px M"1$0#G\Z"#9%>5FCM;SD$&?G.YX.$8!0,I_0@[=LQ#W"$ 3L)"I;31EDZIRRw M&.W1OZW.O :B.L2;':%1-3] V2D #"" <#8C -N5" # "!Q@!.,@W">5OY4;v MMKNK>DU:KEXH%051TP?A$-Q8&O_0@CRSJ%QIITH2>>F=%'1")_HBZ 4@ ZBu M 4T@ $[0!PY0@_@*+3CP#L1 !T+ZUGR"$JKGT@K@38<$&__!TY"PXET[(3^@t MXC?=@?_!DSRY3[K]#YN+D8). "SP#L$ ?+J,>BGM@0 G#P XA@5<^D #AMs MLO_Q1_OT[\&W9YK]-U3U6*."#C[Q/P5?YLX.4"E!-2M.2YAF$Q6/G7/Q*[]Rr M/7M BW_Q4!! 4_C=\@& $%NT15_'\@#_\C3UUD:Z)SH<E3Q3\"S^\QT$"17Pq M!^H!",DR+]NR))P2#88)!B8 &\/#@3P 8]1)@0@2D:Y59# .199$(MQXC#Op M]%;_-Q0A4B)U*1F1$>0A ?X0 'W@^"7L$!A0+X51^5)J / 0" \P+QO; )? o M67F56T/9$K".:9Q/]<%'L58FS![\=@SQ'US!4OE[D5.)#_M &6^WK/)ISOR n M@M]'FU'+ +-VSG!6A0=VK2JB(KK/H'\@AX.D?+@\[=!5:5*5%#NSB:X!4&-%m M4]SX#D_;Q248TE6S;-OR(*O(#PB #^E_^?]P#5?5(^G3? _1 ?\@#KA'@GTNl M_@4@A\#P"U$I50#O\M1_$>J!\/R0\)+_ ;^ <!_P"7Q>9]M7 .W4^LTB)MQ\k MK0A\ )#D':HW-7_!D-?S.TD1_MM7 ," <-_P4*,$\"Y/_:&1CM&J.?] #U$%j M"1@0:8! D[&=_]M7 (_AR_-M0S[TJ'5=-25# @2B?+G,*27#$IL8V_F_?4GWi M ?#P#OPM50#O\M0/U_H3*G!!&A"&[53U9HTSF^*_?5EC&FSDK"D?8 :QJ/X!h M! 2YJ / AU.I;GC0POH/#WI\#ZGS=5,E^-0?D,>%'NRQ& WQ]RUQ\HP11071g M+:>\?9FN7-8*#C, #CP &WQ8->[&?^V!."8;&DGQ@,7GYTAW_@Y$8%,E^-2?f M%0R1%!ZG.E$OT!* \Q8WW['+QGY>=Y%FK8SP#W^:%==FUW?8(P5E<10)G*:!e M%H;+QC^R&V#4#SA!'E/E]!:Q!?V]6J;.'ND&"3"0;=/_).U12XM!_;:"'B0Md MZ]1O*Z02%1 R-649502]<$X2%9?JO#5#-;^CUNMFUG<O^!*X ("P -&5.O1 c M95^' 75K-39,'G^R& WQ]Y#6]?%MDG5=-7#1;:"#M=SC#\6R3PO0XFT1)/U.b M>P ?3^#<_.QC&G Q*O)#-1B0KGJ<KNDJ^76;_,8)8G6MOZX>W\0$.EC+/?X0a M)E2S #8!YQ[3X U.X(O@_\@"#K<$,F2+)N2 ?KT ]#P =#P 52# 0)12(54z M2 ;1MW;MZO%-3*"#M=Q#H&I+(W -Y\Z:\G?A]$OC=I5560A1$)$'"1G0_&_Qy M%LTO^7J<KNF:K@:1 /\ /O'MZO%-3*"#M=R#(U_W5W!MYN%[[6,"\%(1$:+^x M#S>CTVP-[1) 56^V& WQ]PZ1 =A%QW2,77]Q!GA#T+0?W\0$.A7!"(# !S0Ew M 8=Z( > $-]',0 OL?0;1F%O 33^Z=5^E]<."1F@3P '<&LG)7! ]CQ.N2@#v M.@ 0BP5!4Q*P\'OK]W(.8@!O)*F#$]KB4AF \Q87OM?^=1F <$,R)#] -1( u MV] _*J-2$8,/"1* 6:'Q'E'1$(OA]!+[() 0! 5A%9'7I+1/^WWC#_O0#W5;t MM^Q)^[0O[82F_"@#_:Y.^_'M\^SA5 DZZP5-^Q\"#A&!< AG)(3VJ"D/4)"0s M 7HL$ >PBBZ5 8X:?(O1$'_O$!H@&&HMUY0&"1D </JD3VL'\'N6*325 1\ r M#PBG3VL'"1EP\HP!^-\'"1H@&&HMUY0&"1E Q]B%7=CE]"Y/_9"0 4/R#Z#Pq M!Z#0_ Z1 8>Z)\J;))"@ 8*AUK#Q\I"0 0\@:*NXB@@!\"Y/_9 @ 52EWQ7Qp M8F.I 3AOY@CQ?2ZE 8*AUA$)[1G@O75;MW7K]"Y/_9 @ 33^Z8#_?9"@ =7<o M%A\0OM?^=1H@&&H=D="> 0SAO=X[L@#O\M0/"1)@YF$+]0 @]0ZA 5_?XBFOn M\PZA 8*AUA$)[1F@(CZG(O)4]=1/4Q+P]2[NK"RE 8(1%6L=D0ZA 8*AU@T.m M4%1S1<E/*F%R2[=T2X,/":^4_*0"&R\/"5>DUA[4X !%-1H@&&K=X/WN$!H@l M&%&1'*(D2J(T_68= 37L#S:\&-0/"1N@_*12$4(+&S2E 8*AU@W>[PZA 5_?k MXAWR0S_T0X-_\_QP ?YP 8)&'D?U;DX2]AX@&&K=X/WN$!I0S7!-Q^;;(1VBj M^K->T'.O8G0,W.SOZK3?-Z_H<^Q)^[1/^_'M\^SAMQC4I+1/^U_;$'#.&U9Ai M2(9D$: P^%*"6:&A(K7LYW[NYWZ.=/P0?>^ $^01 H*AU@^BLN*_?=M7 .W4h M^LR'PP\Q^%)"XY^>R#AQRMNW?=OW/ G_#0/A4B$@&&K]("HK_MNW?05 _L-Tg M94J1A0E*_2\=M@AB%8LA,*>\?=NW?<]3.;\P*E\7 H*AUO,=NVSLYWYNX@W[f M$!'Q5A&1H-0O)5_OXE&T2^*_?=NW?07 W\EA\R$@&&H=^PS+L S+L)97,F55e M,@E*_5+B)%&A7/_SMVSLYW[NYS^2'*)2.38? H*AUK'/L S+L QK>5P1#W_ d M1H-_$37\#_&M(G@>8*>\?=MG-0T+=H=F%Y 0 H*AUK'/L S+L QK>8.+(EPXc M^!>1%,%V 2<AV0S+L)9'_L/T>UQ/4R$@&&H-NUQQRMNW?=M7 /N@M0*3H-1_b M$3^P#W1,;I+-L QK>>W4^@_Q8E&Q/2(@&&H]WPS+L S+L-IG&ESQ$(-_$7_ a M%?C@.@A59]NW?=M7 (\!P^E(*F,I H*AUO/-L S+L RK?;[<F]0?D)C%K ^Qz MR\#'L S+L QK&FRT&*0BYY @ H*AUO/-L S+L P[N\)F%0\Q^(@*&O9\QG[Ny MYW[NYW6GZ7H!^.0A H*AUN8/ &M<9]NW?>S<.*C>F]0?D# - %Q'.N/1PN*_x M?=N7-9'VWM<>>9 @ H*AUE&T2^*_?=O'SE#"+ \Q^&W1XK)8$%9QRMNW?=N7w M-?MK_@']=2(@&&H=1;LD_MNW?=M7 (*1A0E*_16A_*02^PS+L S+L)8G&%D8v :59'W=2(@&&H=1;LD_MNW?=OG&^F&M*( &@!*u t end