Panorama Version 4.0 Release Notes by James M. Bardeen June 16, 1994 Panorama now supports directly three 24-bit frame buffers for the Amiga, the Retina board from Macrosystems, the OpalVision board from Centaur Development, and the Picasso II board from Expert Systems. In the case of the Retina and Picasso boards, a 24-bit picture can be stored and processed entirely within the board's memory, freeing up precious Amiga RAM. Support for the Display Database (AmigaDos 2.1 or higher) allows access to all the display modes of your system, including AGA modes and some 24-bit display boards, for picture rendering. Render directly in 64 colors, or convert a 24-bit picture to Ham or Ham-8. Previous restrictions on the size and aspect ratio of Ham pictures no longer apply. Even on non-AGA Amigas save 64-color and Ham-8 pictures as ILBM files. The Amiga Screen Mode requester can be used to set almost any picture dimensions you wish, with Auto-Scroll enabled to allow viewing of pictures too large to displayed all at once. New fractal dithering between contours and cliffs and new fractal textures add realistic detail to pictures on scales much smaller than the landscape triangles. Also, fractal dithering of water and waterfalls in the rivers brings these to life, giving the impression of turbulent cascading water even in closeup views. The fractal dithering and textures automatically adjust to take advantage of the high pixel resolution and the 24-bit color available with the frame buffers. Shadows now can have much more detail than before, and projected shadow edges can be sharp or diffuse to varying degrees, allowing great subtlety of lighting effects. Other rendering enhancements include the ability to draw on top of an existing picture, superimposing one landscape on top of another or redrawing the sky and groundplane without affecting an existing landscape. Combine landscapes with different fractal character, like mountains and sand dunes. Use a new Zoom option to take the part of a landscape closest to the camera to a higher recursion level and draw it on top of a picture of the more distant parts of the landscape, for which the higher recursion level triangles would not be resolved. Or superimpose pictures of distant and nearby portions of real landscapes taken from DEM files, sampling the DEM data more sparsely over a large area for the distant part of the scene and at full resolution near to the camera. Try different sky treatments and cloud patterns without having to redraw the whole picture. Quickly create "time lapse" animation sequences of moving clouds. 24-bit Rendering Instead of a switch turning 24-bits on and off, the first item in the Switches menu is now a submenu in which you choose between `Off' -- no 24-bit data created, purely Amiga rendering. `Save Only' -- the 24-bit data is stored in RAM, without being displayed. You can save the 24-bit data as an IFF file, which can be loaded into another program for viewing or transferred to a display device. This is the same as the old `24-bits On', and is the only option if you do not have the Retina board, the OpalVision board, or the Picasso II board. A HAM or HAM-8 (with AGA) picture can be created by Panorama to see an approximation to the 24-bit picture. Previous limits on the size and aspect ratio of HAM pictures have been removed. HAM-8 pictures can be saved to an ILBM file even if they are not displayable on your system. `Retina' -- all the 24-bit picture data is stored in the Retina display memory, from which it can be retrieved to create a HAM picture or to save the picture as an IFF file. No Amiga 16 or 32 color picture is drawn along with the Retina picture. The Main Control window of Panorama remains open to accept input such as the key to abort or to access the Picture Menu which is created after the landscape rendering is finished. The picture is drawn on your default 24-bit retina screen and is automatically centered. The picture can be larger than the maximum displayable screen for your monitor, as long as sufficient Retina memory is available. A 960x720 picture will just fit in 2 Megs of Retina memory, and a 1280x1024 picture can be managed with 4 Megs. An oversized picture can be scrolled, once rendering is completed, by holding down the key along with the appropriate arrow key for the direction you want to scroll. An Amiga HAM or HAM-8 picture can be created from the 24-bit data after the 24-bit rendering is completed. If displayable on your system, this is a normal Amiga screen to which the Picture Menu is attached, or failing that, save it as an ILBM file. `OpalVision' -- the picture is drawn to a "virtual screen" area in Amiga RAM. An Amiga picture is drawn at the same time, so you can follow the progress of the rendering. Once rendering is completed, the 24-bit picture is displayed through the OpalVison board. Create a HAM picture from the 24-bit data if you like, and/or save the picture as an IFF file. Toggle back and forth between the OpalVision display and the Amiga display using the key, or press the right mouse button to get the Amiga display and access to the Picture menu, which is the same as before. The OpalVision board only handles one type of overscan, full video overscan, so any selections of special 24-bit overscan in the lower half of the Overscan submenu are ignored, and choice of any of the overscan types in the upper half of the submenu creates a full video overscan OpalVision display, though the size of the picture may be smaller depending on the particular overscan mode chosen. OpalVision will display at most 476 lines on an NTSC interlaced screen, but the picture is scaled to the number of lines selected in the submenu and in most cases will be smaller than the OpalVision display. `Picasso II' -- the picture is drawn to the framebuffer memory. Up to a 640 by 480 24-bit picture will fit into the usual one megabyte. While the picture is being drawn, or the frame buffer memory is being accessed during the save of a 24-bit picture or the creation of a Ham screen, the Panorama Picasso screen must be "locked". No other Picasso screens can be accessed until the drawing or other operation is completed. It is possible to switch to Amiga screens while the Picasso screens are locked. You should have the Main Control screen displayed as an Amiga screen to avoid conflict, and to maintain the correct aspect ratio. The Picasso 24-bit picture screen does not have message-passing enabled, so avoid clicking on the picture screen if you want to keep the ability to abort the drawing process by pressing the key. When the drawing or saving operation is completed, the 24-bit picture screen will automatically be pushed to the back. The picture Project menu is initially attached to the Main Control screen. As with the Retina, no Amiga picture is created as the 24-bit picture is drawn. If you "Convert to" a HAM or HAM-8 Amiga picture from the 24-bit picture, the picture Project menu will be moved to HAM picture screen. After you exit the picture screen menu, as long as the `Hold Pic' option is in effect the 24-bit picture can be redisplayed by clicking on the picture icon on the Main screen. Also, can be used to cycle through all open screens. All Picasso screen modes are listed in the system Display Database when you select a "Custom" Amiga display mode, but Panorama treats any custom mode selected as an ordinary Amiga screen when it draws the Amiga picture. Only Picasso modes compatible with standard Amiga graphics commands should be selected. Saving of 24-bit files is now much faster, thanks to an assembly language chunky-to-planar routine provided by Mark Thomas. Custom Amiga display modes The `Draw Mode' and `Overscan' submenus of the Switches menu now allow an expanded set of choices for screen mode and screen dimensions in rendering Amiga pictures under AmigaDos 2.04 and above, and with AmigaDos 2.1 or higher allow access to the Display Database for selecting custom display modes. The first item in the `Draw Mode' submenu is now `Solid Custom' (active only under AmigaDos 2.1 or higher). It sets a solid (as opposed to wireframe) draw mode, and brings up the Screen Mode requester giving access to the system Display Database. You may pick any mode listed, select the overscan type for the "display clip" (the actual size of the visible display corresponds to what is set in Screen Mode Preferences), set custom screen dimensions, and select the number of colors available on the screen (16-64) within the constraints of the display mode chosen. Panorama will not use more than 64 colors in an "Amiga" picture, but remember that you can convert a 24-bit picture to Ham or Ham-8. Any new mode selected becomes the "custom" Amiga display mode for subsequent Amiga pictures. However, not all display modes listed are guaranteed to be compatible with your monitor (e.g., pal modes are incompatible with an ntsc-only monitor, and most VGA or SVGA monitors cannot accept a ntsc or pal signal). Do not select modes which your monitor is not able to synchronize with properly. The custom screen dimensions may be larger or smaller than the actual size of the display. Larger screens will have auto-scrolling enabled, so moving your mouse to the edge of the visible display will make the display scroll in that direction over the larger screen. Panorama allows 160 to 8000 pixels for the screen width and 100 to 8000 pixels for the height, though the screen must also be able to fit in your available chip memory. The pixel aspect ratio for the custom Amiga picture screen is initially set to the value stored in the display database for the display mode you select. The actual aspect ratio will depend to some extent on the adjustment of your monitor. You can modify the value by selecting the `Aspect Ratio' item in the Features Menu. The requester that appears will say "Custom Amiga Aspect Ratio" when a custom Amiga display mode is in effect, or "Default Amiga Aspect Ratio" when one of the default draw modes is in effect. These values are stored separately and are set by separate Picture Script and ARexx commands (see below). The Default aspect ratio applies directly to lores screens and hires-lace screens, and is automatically adjusted for lores-lace screens. The Custom aspect ratio is used directly without any adjustment. The same Screen Mode Requester is called up by selecting the `Custom' subitem in the upper half of the Overscan submenu (under AmigaDos 2.1 or higher). The only difference is that from the Overscan submenu you can set a custom screen mode and dimensions while keeping a wireframe draw mode in effect. The screen depth selected is ignored when drawing a wireframe picture (which always has 4 bitplanes, 16 colors). Which of the first five items in the Overscan submenu are checked indicates (under AmigaDos 2.0 or above) the type of overscan currently in effect for the visible display. If the `Custom' subitem is not checked, the screen size for Amiga pictures is the same as the visible display. When a custom screen mode is in effect, the `Custom' subitem is checked and the screen size may differ from that of the visible display. The checkmarks are adjusted appropriately whether the screen mode was changed in the Draw Mode submenu or in the Overscan submenu. If the system Screen Mode Requester is not available (under AmigaDos 2.04), selecting `Custom' still allows setting custom screen dimensions. As before, when one of the items in the lower half of the Overscan submenu is checked, the 24-bit aspect ratio is used to scale the picture and preset or custom screen dimensions applicable only to 24-bit pictures are effect. Any Amiga picture drawn along with the 24-bit picture will have pixel dimensions corresponding to the display clip set in the upper half of the Overscan submenu, and will cover only a portion (top-left) of the 24-bit picture if the 24-bit screen dimensions are larger. A Ham or Ham-8 picture created from a 24-bit picture with screen dimensions set in the lower half of the Overscan submenu will be created in the "default" lores screen mode (whether or not a Custom Amiga display mode is in effect), with a display clip as specified in the upper half of the Overscan submenu and screen dimensions equal to those of the 24-bit picture. It is an auto-scroll picture, so the visible portion can be moved around over the entire screen using the mouse pointer, though some fringing will be noticeable unless the left edge of the visible portion coincides with the left edge of the screen. Configure Main Screen By default, under Workbench 2.04 or higher, Panorama chooses a "hires" display mode for the Main Control screen from the same family as that of the Workbench screen, as long as that is a ntsc, pal, scan-doubled ntsc, or scan-doubled pal mode. If the Workbench screen mode is none of these, the "default" hires mode is specified. Under AmigaDos 2.1 or above, it is possible to choose a screen mode for the Main Control screen different from that of the Workbench screen. Selecting the `Config Main' item in the Switches menu brings up the the Screen Mode requester. However, there are some fairly severe restrictions. For any change to take effect, the selected mode must be part of a family which includes lores, hires, hires-laced, and lores-laced screens. The change will apply not only to the (hires) Main screen itself, but also to the default Amiga picture modes, which encompass the other members of the family. The requester does not allow specifying screen dimensions for the Main screen. These are taken from the Text Overscan Preferences setting. Among the standard types of display modes supported by AmigaDos 3.0, only the ntsc, pal, double ntsc, double pal, and Euro-36 modes qualify, and, of course, some of these may be missing depending on your monitor and the version of the graphics chip set present in your computer. If a selected mode is acceptable, the Main screen will be closed and reopened with the new mode. The mode then in effect will be saved as part of your system Environment settings when you exit Panorama, so the next time you run Panorama it will open in that mode. An unacceptable mode will give an error message, and the previous mode will remain in effect. Be careful to choose only screen modes which are compatible with your monitor. If you do not get a stable display on your monitor, act immediately to restore the old mode, or if that is impossible, reboot the computer with Ctrl-Amiga-Amiga. The bad mode will not be saved and reused if you reboot or if you exit Panorama abnormally in some other way. Use of an incompatible display mode could damage your monitor. Fractal textures Fractal textures can now be assigned to all the landscape elements -- contours, cliffs, water, and sea -- individually. Legal texture values are from 0 to 199. Values of 0 or 100 set the amplitude of the texture to zero. Values 1-99 give non-fractal textures, with 3 different pixel patterns depending on whether the value is in the range 1-32, 33-64, or 65-99. Within each of these ranges, the larger the value the higher the contrast between the bright and dark pixels. The values 0-64 give results identical to earlier versions of Panorama. The 65-99 range is a new pattern which gives a somewhat more coarsely lumpy appearance. The fractal textures have values in the range 101-199. These take the pattern and amplitude for the texture from the last two digits of the number, corresponding to the pattern and relative amplitude of the non-fractal texture with the same two digits. The fractal textures are rescaled and superimposed with "pixels" ranging in size from about a landscape triangle down to roughly the size which projected on the screen is the size of a screen pixel. As the camera moves and the distance of a given landscape triangle from the camera varies the range of the fractal scaling varies, but the positioning of the resolved patterns on the different scales is fixed on the landscape independent of the position and orientation of the camera. As the camera gets closer to a given part of the landscape you see more and more detail within the same large-scale pattern. The fractal textures give the impression of irregular surfaces, with bumps and depressions of various sizes and shapes, on scales from about the triangle size down to the pixel resolution of the picture or about 1/100 of the triangle edge length, whichever is larger. Rendering is only slightly slower than without the fractal textures, even when the triangles are large and the fractalization extends over a wide range of scales. The finest subdivision of the fractal process can be adjusted relative to the pixel size using the Picture Resolution parameter in the Features menu. The larger this parameter the finer the fractal detail generated. A fractal texture chosen for `Water' in the Waves requester applies to the rendering of rivers as well as lakes, though it takes effect for lakes only if `Water Dither' is on. The fractal texture applies to the waterfall and rapids portions of rivers if `WFall Dither' is on. The amplitude of the texture on rivers varies somewhat with the slope of the river, increasing as the river becomes steeper. A fractal value for the `Sea' texture will take effect whether or not waves or sheen are turned on, as long as `Sea Dither' is on. Only the part of the sea over the landscape will have the fractal texture applied, not sea as a ground plane. Fractal textures on lakes and the sea can give the impression of random waves rather nicely, without the cost in rendering time associated with calculating a specific wave pattern under the `Waves' wave type. Fractal dithering The dithering which mixes together contours with each other, contours with cliffs, and water with waterfalls in rivers, has also been given a fractal character, which makes it look much more natural. Again, this is on sub-triangle scales, so it is most apparent when the camera is close to the surface of the landscape. This breaks up smooth blending of one element into another into an irregular blending. It is always on, though the overall amount of dithering is controlled by the Contour dither and Cliff-Contour dither values, as before. Furthermore, the way contour information is stored has been changed to allow a freer mixing of contours, without the artifacts which were sometimes noticeable with the old method. Experiment with the slope blending and curvature blending parameters to see how this works. There is a bit more calculation during rendering, since there are now four contour indices at each triangle vertex, separate indices for each contour boundary, instead of the one index in the old scheme. The increase in rendering time is minimized by use of assembly language and largely compensated by a decrease in precalculation time. Change Contour and Cliff parameters without forcing precalculation The new scheme for precalculation and storage of contour and cliff boundary information allows changing almost all contour and cliff parameters without requiring recalculation of the stored values. Changing the curvature mode from `Non-loc(al)' to `Local' or vice-versa forces recalculation, and changing one or more of the Null Slope parameters by a substantial amount will force recalculation, but any other changes in the Contour or Cliff requesters will allow staying with the previously stored contour values, so drawing of a new picture can begin immediately if the previously stored values are present. Any change to the height of a point in the landscape, e.g. by changing the Vertical Scale, will still force recalculation of both contour and brightness values. Extra Colors An item in the Switches menu is a toggle turning on (when checked) and off an "Extra Colors" option under AmigaDos versions less than 3.0. When this is checked, all "solid draw mode" Amiga picture screens will be opened as 6 bitplane (64 color) screens even though the maximum displayable number of bitplanes may only be 4 (16 colors) or 5 (32 colors). The palette for the 64 color screen includes the full range of brightness levels for all contours, and each contour has its own set of colors regardless of the "Show Contour" settings. In addition separate colors are assigned for the tree "leaf" colors of each contour and the cliffs, one color (the bark color for contour 3) is assigned as a bark color for all trees, clouds have a separate color, etc. The palette is arranged so that as much as possible colors not directly displayable will be converted to colors of the same "family" differing only in brightness. When the Amiga picture is saved as an ILBM file all 6 bitplanes are included, so the picture will have full color detail when accessed by other software. If, with a Retina board, the "RetinaEmu" program is running with "AGA emulation", "Extra Colors", and "Retina display" toggled on for the "PanPicture" screen, the full 64-color picture will be displayed on the Retina. The `Extra Colors' menu item is ghosted under AmigaDos 3.0 and above, since these do not allow screens with non-displayable bitplanes to be opened. Trees Some of the constraints on including trees in pictures have been eased. Now trees are allowed with vertical view angles up to 30 degrees, and 24-bit drawing does not need to be in effect if the number of colors in the Amiga picture is 64. It is still true that trees will only be displayed with full detail and shading in 24-bit pictures. The maximum number of trees on a single landscape triangle has been increased to 9 from the old limit of 3. Terminating picture drawing When the key is pressed to abort drawing the landscape, the picture is no longer immediately erased from memory. Instead, the normal Picture Menu is activated, making it possible to save the partially drawn picture or manipulate it in the other usual ways. Press again to get back quickly to the normal menus of the Main Control window. The picture will be held in memory if the `Hold Pic' option is in effect. When the picture is drawn from an ARexx command, the error code returned is 10. The only exception to this is when executing a picture script. Then pressing terminates execution of the script, as it did before. `Hold Pic' toggle in the Switches Menu replacing `WBench Open' The option of trying to close the Workbench screen from within Panorama no longer exists. In practice this was unlikely to work because a screen with any open windows cannot close, and in a system with ARexx installed Panorama itself opens a window on the Workbench screen. Instead, you can now toggle the `Hold Picture' switch on or off from the Switches Menu of the Main Control window as well as from the Project Menu on a picture screen as before. An Amiga-Key shortcut has been provided so you can toggle `Hold Pic' off, thereby erasing any held picture screens, even if there is not enough free memory for the Menu itself to be displayed. Separate Preview Screen Drawing a preview picture no longer causes a held regular picture to be erased from memory. The preview picture has its own screen. This change was made to facilitate the redrawing options described below. Req.library No Longer Required If you have Workbench 2.04 or higher installed, it is no longer necessary to have req.library in your libs: directory, since Panorama will use the asl.library supplied by Commodore in its place. The asl.library becomes the default with Workbench 2.1 or higher, when it is used to access the Display Database in addition to supplying the file requester. With 2.04, asl.library is used for file requesters only if req.library is not installed. Panorama Data File changes A few minor changes have been made to the format of Panorama data files. None of these cause any compatibility problems with data files created from previous versions of Panorama. The status of the `24-bits On' switch is no longer saved into or read from a data file. This means that when you load a data file into Panorama the 24-bit rendering option currently in effect is always preserved, thus avoiding possible inconsistency when drawing an overlay picture from the new data (see below). Two previously reserved 4-byte fields, at file positions 544 and 548, are now used to store the absolute spacings of points in the DEM file from which GeoRama created the Panorama data file, the W-E spacing in meters and the S-N spacing in meters, respectively, or are set to zero for data from a fractal landscape. These values are used to correlate observer positions between two data sets taken from overlapping patches of DEM data in GeoRama. Zero values mean that no such correlation is possible. The value of the ZOffset parameter should now always be interpreted as having units of meters, regardless of the original DEM height unit. The new ShadowEdgeIndex parameter is stored at file position 731 as a one-byte integer. Redrawing Options The `Draw Picture' item in the Action menu now has a submenu with three options. A choice of `From Scratch' erases any pre-existing picture, corresponding to the old `Draw Picture'. This option is always available when a landscape is present. The other two subitems, `As Overlay' and `RedrawSky', are only enabled when a picture, either an Amiga picture or a 24-bit picture, has been drawn previously and is being held in memory. Any change in 24Bit mode, Draw Mode, Overscan Mode (first three submenus of the Switches menu) will disenable (ghost) `As Overlay' and `Redraw Sky', but changes in all other rendering parameters preserve these options. Drawing a Preview picture or using the graphical method of adjusting the vertical postion of the observer no longer erases a previously drawn Amiga picture. If you run into low memory problems you can get rid of any held pictures by pressing `Right-Amiga-O', which is equivalent to turning off the Hold Pic switch by selecting that item of the Switches Menu. Draw Overlay Once you have a held picture, the `As Overlay' subitem of the `Draw Picture' item in the Action Menu will be unghosted. You can change rendering parameters for the current landscape (with the exceptions noted above), "Zoom" a patch of the current landscape to higher fractal detail, create a new fractal landscape from scratch, or load a new landscape from a Panorama data file, and the held picture will be preserved. In some cases, as with "Zoom" or a GeoRama data file from DEM data overlapping with with the previous landscape, the camera position and view direction and the rendering parameters will be automatically be adjusted to make rendering of the new landscape consistent with the background picture. In other cases you will be on your own in positioning the camera and setting rendering parameters. Once you are ready, select the `As Overlay' subitem of the Draw Picture submenu of the Action Menu to draw the new landscape on top of the old picture. The sky and clouds can be drawn with the original landscape, or can be done or redone after drawing the Overlay picture using the `RedrawSky' option described below. The sky/clouds will NOT be drawn automatically once the landscape rendering `As Overlay' is finished, as they would be with a landscape drawn `From Scratch'. Note that the original landscape may not need to be drawn close to the observer where it will be covered up by the new landscape, so you may save some rendering time by stopping the original drawing (press the key) once you are sure the rendering has passed that point. There is a new `DrawOverlay' ARexx command which will draw the overlay picture from an ARexx script or the Arexx Command Window. If there is no held picture to serve as a background, a picture will be drawn of the current landscape as if a normal `DrawPic' command had been issued, but the return code will be 10. `DrawOverlay' is NOT a Picture Script command, since a Picture Script is designed only to work with a single landscape. RedrawSky You can now redraw just the sky/groundplane part of a picture after changing the position or other properties of the cloud pattern, sky and cloud colors, haze colors, etc. This makes it much easier to experiment with the various sky treatments. You are also allowed to change the observer position, view direction, bank angle, etc., though this will only affect the sky and ground plane, since the part of the rendering associated with landscape triangles is left unchanged. For instance, you can have a tilted sky-groundplane horizon line behind a level landscape, or vice versa. `Redraw Sky' only takes effect with a Solid Draw Mode selected, since with a Wireframe Draw Mode the sky is just color 0. A held picture must be in memory, a 24-bit picture or an Amiga picture created originally with `Clouds On', since only then is there a mask stored in memory which keeps track of which pixels are associated with the landscape proper. Note that changing the sky colors with Redraw Sky will change the color of a sea ground plane (in 24-bits) with waves and sky reflection turned on, but will not affect the sky reflection in the part of the sea which is part of the landscape proper. `RedrawSky' is a new ARexx and Picture Script command which acts like the `DrawPic' command, except that only the sky/groundplane is drawn. If a held picture is not present or doesn't have the required mask, `RedrawSky' defaults to a complete picture drawing, as if a `DrawPic' command had been received, but the return code of the ARexx command is set to 10. Tweening works with `RedrawSky' in a Picture Script in the same way it works with `DrawPic', so you can easily make a "time-lapse" animation in which the only motion is clouds drifting across the sky. New Default Values The default values of the contrast parameters have been changed to 0.4 `In Sun' and 1.0 in `Shadow'. These values preserve more detail in the shadows in 24-bit rendering, particularly with fractal textures on, and allow the subtle shading in the shadows to be more apparent than with the previous default values. The old default values of 0.5 for the Sun Contrast and 0.1 for the Shadow Contrast are still recommended for 32-color or 64-color rendering to an Amiga screen. The default texture values for some of the landscape elements have been changed to show off the new fractal textures. Also, there has been some tweeking of the default sky and water colors. Default values of the fractal index at the higher recursion levels have been changed to reduce the small-scale roughness a bit. All the new default values are included in the PanoramaConfig.set file on the disk. Zoom A new Zoom option makes it possible to effectively increase the fractal recursion level in the part of the landscape close to the camera, adding fractal detail where it can be resolved on the screen, without additional demands on memory. This is designed to be used with the Overlay feature described above. First, draw a picture at the fractal recursion level appropriate to the more distant parts of the landscape. Be sure the `Hold Pic' option is on. Then after you return to the normal Main Control screen, select the `Zoom' subitem in the Action Menu. Move the mouse pointer over the map display on the Main Control screen. When the mouse pointer is over the map a flashing circle centered on the mouse pointer indicates roughly the size of the region that can be zoomed. Position this circle so it covers the field of view of the camera (as indicated by the red lines) close to the camera. Click with the left mouse button to fix the zoom region. Then Panorama goes to work to convert points in the existing landscape centered on the point closest to where you clicked with the mouse into a landscape at the next lower recursion level. Springs are added at the edge of the new landscape where activated rivers flowed into the selected patch in the old landscape, and given an initial depth corresponding to their depth in the old landscape. The new landscape is then increased one step in recursion level, so the new landscape is then at the same recursion level as the original landscape but covering only about 1/9th the area. Since horizontal distances in the new landscape are now three times what they were for corresponding points in the old landscape, the z values are increased by a factor of three to maintain the same relative relief. The camera position is automatically adjusted so the new landscape is viewed in exactly the same way as the corresponding part of the old landscape was. All rendering parameters from the old landscape are preserved, appropriately rescaled when necessary. Fill lakes and run rivers for the new landscape. Then draw a picture of the new landscape `As Overlay' (see above). The springs added where rivers flow into the zoomed patch are assigned to recursion level 1, so they will be active if any rivers from springs are active. Springs in the original landscape within the zoomed patch are preserved in the new landscape, but their recursion level is reduced by one if the original recursion level was greater than one. Because maximum river widths are tied to the triangle size, which becomes a factor 3 smaller in edge length in the new landscape, major rivers will usually appear narrower in the new landscape than they did in the old. Try not to pick a zoomed patch which only partially includes a lake in the original landscape, since this lake at the very least will not have the same size in the new landscape. In order for the contour levels and some other rendering parameters to remain compatible with the original landscape you must not do anything that forces recalculation of the minimum and maximum z values for the zoomed landscape, since keeping contour levels, etc., compatible requires that these values be preserved (with appropriate rescaling) from the original landscape. In particular, you should not increase the recursion level of the zoomed landscape. You can safely apply the "Roughen" and "Smooth" operations to the zoomed landscape. The scaling of the Cloud parameters and the location of the Cloud Center are adjusted to remain compatible with the original landscape. Assuming that you do not move the camera, change the view direction, or change any of the cloud paramaters, there will be no change in the cloud patterns from those of the original picture if the sky is redrawn after zooming. The recursion level must be 2 or greater in order for zooming to be possible, and zooming is most effective at recursion levels 4 or 5. The sequence of fractal parameters with recursion level is altered by zooming, so after zooming you will usually not recover the same landscape by starting over from scratch with the same fractal seed. You should save a Data file before zooming if there is any chance you will want to draw another picture of the same landscape. Zooming can also be accomplished with the ARexx command `Zoom [i] [j]'. The arguments [i] and [j] are the labels of the point in the current landscape which will be the location of the center of the zoomed patch. The command will be aborted (return code 20) if the current recursion level is less than 2, or if there is no point in the current landscape with the labels [i], [j]. See the Panorama Manual for how to translate between i,j labels and x,y coordinates and for the allowed values of i,j for each recursion level. New and Modified Picture Script Commands `NormalDisplay' (ARexx) Restores the default Amiga display mode according to the previous draw mode in effect, and eliminates any "Custom" Amiga overscan, making the screen size equal to the display size. Any held picture will be erased if it was drawn with a custom display mode. This command will not have any effect under AmigaDos 1.3. `CustomDisplay [modeID] [width] [height] [depth] [aspect.nn]' (ARexx) Set a custom Amiga display mode, under AmigaDos 2.0 or above. [modeID] is an integer "ModeID" specifing the type of Amiga display from the Display Database. Valid modeID's for your computer can be found by selecting a custom screen mode using the requester called up by the "Custom Solid" item in the Draw Mode submenu or by the "Custom" item in the Overscan submenu, saving a Settings file,and reading the `CustomDisplay' entry. [width] and [height] set the width and height in pixels of the picture screen. and can range from 160 to 8000 and 100 to 8000, respectively. [depth] is the number of bit planes for the custom screen, and must be in the range 4 to 6, giving 16, 32, or 64 colors. [aspect.nn] sets the `CustomAmigaAspectRatio' (see below) used to scale the picture field of view. IF the [modeID] is not recognized as a valid mode identifier, or any of the other parameters are outside their allowed ranges, the entire command is aborted. The custom display mode applies to both solid and wireframe pictures, though regardless of the [depth] set by this command, a wireframe picture will have only 4 bitplanes. Any held picture will be erased. [modeID] -- an integer identifying an available screen mode. [width] -- an integer in the range 160-8000. [height] -- an integer in the range 100-8000. [depth] -- an integer in the range 4-6. [aspect.nn] -- a real number in the range 0.25-4.0. `DrawMode [n]' (ARexx) A value of [n] in the range 1-3 sets a particular default Amiga solid draw mode, as specified in the 2nd to 4th items of the Draw Mode submenu of the Switches menu. Under AmigaDos 2.0 or above this also eliminates any "Custom" Amiga Overscan previously in effect. Values of 4 or 5 for [n] specify wireframe draw modes (without or with hidden lines removed), but leave any pre-existing custom screen mode in place. Any held picture will be erased if the DrawMode changes. [n] -- an integer in the range 1 to 5. If an error or not in range, then ARexx return code 10 and the previous value is preserved. `AmigaOverscan [n]' (ARexx) Select the size of the display for the Amiga rendering (as opposed to the rendering to a 24-bit frame-buffer). What is new is that under AmigaDos 2.0 and above the number [n] selects not preset screen dimensions, but rather the "display clip" according to the current preferences settings on you system. [n] is 0 for the normal (no overscan) display clip, 1 for text overscan, 2 for standard (graphics) overscan, 3 for "maximum" overscan, and 4 for "video" overscan. The actual screen size may be larger or smaller if you have set a "Custom" display mode, or if you are drawing a 24-bit picture and have one of the special 24-bit overscan modes selected (as indicated in the lower half of the Overscan submenu). When the screen is larger than the display clip you won't see all of the picture at one time, but you can scroll back and forth over the picture by moving the mouse to the appropriate edge of the display clip. Under AmigaDos 1.3 or less the command functions as before, setting specific Amiga screen sizes as indicated in the Overscan submenu or (with [n] = 5) setting the screen dimensions equal to those of the Workbench screen. [n] -- an integer in the range 0-4 (AmigaDos 2.0+) or 0-5. If an error or not in range, then ARexx return code 10 and the previous value is preserved. `ExtraColorsOn', `ExtraColorsOff' (ARexx) Turn on and off 64-color Amiga rendering under AmigaDos versions below 3.0, i.e., those which accept screens with more than the displayable number of bit planes. These commands are ignored under AmigaDos 3.0 or above, when non-displayable bit planes are illegal. To get 64 colors under Amigados 3.0+, use the `CustomDisplay' command with the number of bit planes set to 6. `DefaultAmigaAspectRatio [n.nn]' (ARexx) Sets the aspect ratio used for scaling the ratio of height to width of the picture field of view when one of the default Amiga draw modes is in effect (as indicated in the Draw Mode submenu of the Switches menu). This supersedes the old `AmigaAspectRatio' command, which is no longer recognized. As previously, this aspect ratio is automatically adjusted by an appropriate factor of 2 according to which of the default draw modes is in effect. [n.nn] -- a real number in the range 0.5 to 2.0. If an error or not in range, then ARexx return code 10 and the previous value is preserved. `CustomAmigaAspectRatio [n.nn]' (ARexx) Sets the aspect ratio for the picture field of view when a "Custom" Amiga Draw Mode or Overscan Mode (as indicated in the Draw Mode submenu or the Overscan submenu of the Switches menu) is in effect. Under AmigaDos 2.1 or above, this by default is always reset to the aspect ratio stored in the Display Database for any new custom draw mode chosen from the Screen Mode requester. The aspect ratio is applied directly, without any adjustment. [n.nn] -- a real number in the range 0.25 to 4.0. If an error or not in range, then ARexx return code 10 and the previous value is preserved. `ShadowEdgeIndex [n]' (ARexx) Set how sharp the projected shadow edges should be in 24-bit rendering. The edges are perfectly sharp for [n]=0 and rapidly become very diffuse (with the shadow as a whole much lighter) as [n] increases beyond single digits. [n] -- an integer in the range 0 to 32. If an error or out of range, then ARexx return code 10. `FallsDitherOn', `FallsDitherOff' (ARexx) Toggle "dithering" on and off for waterfalls, though dithering on makes a difference only for 24-bit rendering. With dithering on, brightness variations with sun angle and the waterfall texture take effect. `SeaShadowOn', `SeaShadowOff' (ARexx) Toggle between showing shadows on the sea, or making the sea "luminous". `StartHam1-1' In a picture script, convert subsequent 24-bit pictures to normal Ham pictures with exactly the same dimensions in pixels as the 24-bit pictures, regardless of the Amiga draw mode setting. If pictures are being saved, the ham conversion is directly to a file, rather than being displayed first. `StartHam8' (ARexx) In a picture script, convert subsequent 24-bit pictures to Ham 8 pictures with exactly the same dimensions in pixels as the 24-bit pictures. The Ham 8 pictures will be displayed if possible (i.e., on AGA machines), and otherwise will be saved directly to ILBM files. The ARexx command ensures that the next picture will be automatically converted to Ham-8 after it is drawn. The Arexx command is canceled after each picture, and must be reissued for each subsequent picture. New ARexx-Only Commands `DrawOverlay [filename]' Draw an overlay picture and (optionally) save it to the file specified. If no [filename] argument is supplied, the picture is drawn but not saved to any file. If the conditions for an overlay picture are not satisfied, a normal picture will be created and the return code will be 10. `RedrawSky [filename]' Redraw the sky of an existing picture and (optionally) save it to the file specified. If no [filename] argument is supplied, the new version of the picture will not be saved to any file. If the conditions for redrawing the sky are not satisfied, a normal picture will be created and the return code will be 10. `SaveHamDirect [filename]' Save an existing 24-bit picture directly as a Ham ILBM file, without creating an Amiga Ham screen. If no 24-bit picture exists, no filename (including path) is supplied, or some error occurs, the return code is 20. `SaveHam8Direct [filename]' Save an existing 24-bit picture directly as a Ham-8 ILBM file, without creating an Amiga Ham-8 screen. If no 24-bit picture exists, no filename (including path) is supplied, or some error occurs, the return code is 20. `Zoom [i] [j]' Expand a patch taken from the current landscape, centered about a point in the current landscape labelled by the integers [i], [j], into a new landscape with three times the (linear) resolution of the old one at the same recursion level and with appropriate additional fractal detail. See the discussion above for appropriate uses of this feature. [i],[j] -- integers labelling a point which must be within the current landscape. Must be either both even or both odd to be a valid point label. If the current recursion level is not greater than 1, [i],[j] are not valid point labels, or the reduction or subsequent increase of recursion level fails for some reason, the return code is 20.