1* $$$$$$$$$$$$$ ARRAY SIZE LIMITS START HERE $$$$$$$$$$$$$$ 2* 3* Maximum size for dynamic (allocatable) arrays. 4* The values MAXNTX * MAXNTY, MAXNPX * MAXNPY, MAXOBJ, MAXDET, 5* MAXSDT, MAXSHR, MAXSSL, and MAXGLOWS below are initial sizes, 6* which can be expanded to this limit as needed. 7 INTEGER MAXMEM 8 PARAMETER (MAXMEM = 600000000) 9* 10* Maximum number of tiles 11 INTEGER MAXNTX, MAXNTY 12 PARAMETER (MAXNTX = 256, MAXNTY = 256) 13* 14* Number of shadow tiles 15*** (One of these can fail to be enough when the aspect ratio is 16*** extreme or when the model is far from being "centred" near z=0. 17*** Keep them well ahead of MAXNTX, MAXNTY to be on the safe side) 18*** EAM - Allow soft failure and monitor required values in NSXMAX,NSYMAX 19 INTEGER NSX, NSY 20 PARAMETER (NSX = 360, NSY = 360) 21* 22* Maximum number of pixels per tile 23 INTEGER MAXNPX, MAXNPY 24 PARAMETER (MAXNPX = 32, MAXNPY = 32) 25* 26* Maximum number of objects 27 INTEGER MAXOBJ 28*** PARAMETER (MAXOBJ = 7500) 29 PARAMETER (MAXOBJ = 200000) 30* 31* Array elements available for object details 32* Should be roughly 10*MAXOBJ 33 INTEGER MAXDET, MAXSDT 34*** PARAMETER (MAXDET = 150 000, MAXSDT = 150 000) 35 PARAMETER (MAXDET = 2 000 000, MAXSDT = 2 000 000) 36* 37* Array elements available for sorted lists ("short" lists) 38* Increased requirements as more objects are stacked behind each other 39 INTEGER MAXSHR, MAXSSL 40*** PARAMETER (MAXSHR = 150 000, MAXSSL = 150 000) 41 PARAMETER (MAXSHR = 4 000 000, MAXSSL = 2 000 000) 42* 43* Maximum number of MATERIAL definitions (object type 8) 44 INTEGER MAXMAT 45 PARAMETER (MAXMAT = 250) 46* 47* Maximum number of stacked transparent objects at any single pixel 48* (any further further stacking is ignored) 49 INTEGER MAXTRANSP 50 PARAMETER (MAXTRANSP=25) 51* 52* Maximum number of non-shadowing lights (object type 13) 53 INTEGER MAXGLOWS 54 PARAMETER (MAXGLOWS = 10) 55* 56* Maximum levels of file indirection in input stream 57 INTEGER MAXLEV 58 PARAMETER (MAXLEV = 10) 59* 60* $$$$$$$$$$$$$$$$$ END OF LIMITS $$$$$$$$$$$$$$$$$$$$$$$ 61* 62* Other possibly platform-dependent stuff 63 REAL HUGE 64 PARAMETER (HUGE = 1.0e37) 65* Slop is related to the accuracy (in pixels) to which we must predict 66* shadow edges. Too low a value causes whole triangles to be spuriously 67* in shadow; too high a value may cause shadows to be missed altogether. 68* Perfect accuracy in floating point calculations would allow SLOP << 1. 69 REAL SLOP 70 PARAMETER (SLOP= 0.35) 71* Edgeslop is similarly a kludge for dealing with triangles whose explicit 72* normals describe wrapping around from front-facing to back-facing. 73 REAL EDGESLOP 74 PARAMETER (EDGESLOP = 0.25) 75* Ribbonslop is a kludge so that distortion due to perspective doesn't 76* prevent us from identifying ribbon triangles 77 REAL RIBBONSLOP 78 PARAMETER (RIBBONSLOP = 0.001) 79