home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / colour / a221_1 / !PalMaker / !Help < prev    next >
Text File  |  1993-06-03  |  15KB  |  354 lines

  1. PalMaker 1.14 (3 Jun 1993) Copyright Ferdinand Oeinck
  2. ------------------------------------------------------
  3.  
  4. New in this version:
  5.  
  6. - the octree datastructure is moved entirely into flexblocks. Because
  7.   the Octree algorithm is used in all quantization routines (the
  8.   colours are so nicely sorted in an octree), the wimpslot, after
  9.   !PalMaker is ready with it's calculation, is decreased further from
  10.   approx. 192 Kb to approx. 96 Kb. when using Heckbert quantization.
  11.   When using Octree or Variance quantization the wimpslot will mostly
  12.   stay at 64Kb.
  13.  
  14. - !PalMaker is now a real RISC OS 3.10 task.
  15. - Iconbar icon is a 256 colour sprite.
  16.   
  17.  
  18. PalMaker 1.13 (24 May 1993) Copyright Ferdinand Oeinck
  19. ------------------------------------------------------
  20.  
  21. New in this version:
  22.  
  23. - When the 'GiveBox' menu entry is chosen, PalMaker waits for the input
  24.   of the 'area of interest' rectangle. In previous versions there was no
  25.   way to abort this waiting, in the case the menu entry was chosen
  26.   premature or by accident.
  27.   In this version one can press the 'Adjust' mouse button to abort the
  28.   'waiting for a rectangle process'.
  29.   This holds too, when the dragging of the rectangle has already started.
  30.   Instead of releasing the 'Select' button to stop the drag, one presses
  31.   the 'Adjust' button while still pressing 'Select'.
  32.   
  33.  
  34. PalMaker 1.12 (24 Apr 1993) Copyright Ferdinand Oeinck
  35. ------------------------------------------------------
  36.  
  37. New in this version:
  38.  
  39. - New iconbar icon!
  40. - Moved more memory into flexblocks.
  41.   Wimpslot now is maximal 192Kb (was 288Kb in version 1.11).
  42. - mouse clicks during redraw sequences and calculation are filtered out,
  43.   so no user intervention possible during multi-tasking redraw sequences. 
  44.   This is because when the MENU button is pressed by accident, the menu
  45.   will open over the window of interest (we cannot see that because
  46.   VDU output is swiched), and so the palette is not optimal.
  47.  
  48. - Bug in 1.11: Test sprites were saved in <PalMaker$Dir>.stmp (cured)
  49. - Bug in 1.09 - 1.11: Removing of pane(tool)-window(s) from ArtWorks crashed
  50.   PalMaker (cured)
  51.  
  52. PalMaker 1.11 (23 Apr 1993) Copyright Ferdinand Oeinck
  53. ------------------------------------------------------
  54.  
  55. New in this Version:
  56.  
  57. - another colour quantization routine added. It can be selected
  58.   from the Control submenu by choosing 'Variance'.
  59.  
  60.   It uses always a 5 bit histogram (32 * 32 * 32 * 4 = 128 Kb) and
  61.   needs about 110 Kb extra space for holding statictical information.
  62.  
  63.   This variance algorithm is based on:
  64.  
  65.         Wan, Wong, and Prusinkiewicz,
  66.         "An Algorithm for Multidimensional Data Clustering",
  67.         Transactions on Mathematical Software, Vol. 14 #2 (June, 1988), pp. 153-162.
  68.  
  69.   The results a better than the Octree or Heckbert approach. Although it is
  70.   somewhat slower in execution because of lots of floating point operations.
  71.   (No problem when the FPA arrives, then it will be approx. 40 times faster!)
  72.  
  73.   Important is that it makes virtually no difference to the resulting palette
  74.   if the anti-aliasing option from ArtWorks is on or off. And this is certainly
  75.   not the case with the two other quantization algorithms, which give a worser
  76.   palette with anti-alisaing on. 
  77.  
  78.  
  79. PalMaker 1.10 (19 Apr 1993) Copyright Ferdinand Oeinck
  80. ------------------------------------------------------
  81.  
  82. New in this Version:
  83.  
  84. - When using !PalMaker on a non-Artworks non-Draw programme in 24 bpp
  85.   mode, the programme could not know that a palette change had occured.
  86.   This is now cured. !PakMaker now issues a message_palettechanged to the
  87.   programme, so it can update it's own internal colourtables for use in
  88.   for example sprite plotting.
  89.  
  90.  
  91. PalMaker 1.09 (15 Apr 1993) Copyright Ferdinand Oeinck
  92. ------------------------------------------------------
  93.  
  94. New in this Version:
  95.  
  96. - when using !PalMaker on an ArtWorks window and the window has
  97.   any tool(pane)-windows attached to it, !PalMaker will remove
  98.   the tool-windows, so you don't have to remove them anymore before
  99.   using !PalMaker. This is not the case for !Draw!
  100.  
  101.  
  102. PalMaker 1.08 (13 Apr 1993) Copyright Ferdinand Oeinck
  103. ------------------------------------------------------
  104.  
  105. In this new version (1.08) there are some very important improvements:
  106.  
  107. - Rendering of window-area of interest forced in a sprite (by using the
  108.   'switch output to sprite' approach), so no annoying palette changes
  109.   anymore for the monitor.
  110. - No user clicks anymore needed to signal end of redraw.
  111. - Works in all monitor screen modes.
  112. - New fast 15 bit per pixel 32000 colour option (only for Artworks or
  113.   Artworks file viewers).
  114. - New Heckbert 5 or 6 bits chroma switch.
  115. - Choices can be saved.
  116.  
  117.  
  118. How to do:
  119.  
  120. The procedure to get a 256 colour palette is still the same. Get the
  121. interesting part of the document visible in it's window.
  122.  
  123. IMPORTANT: remove any PANE-WINDOW(S) from the window of interest!
  124.  
  125. Now choose the number of bpp (24 or 15, 15 only with ArtWorks) and the
  126. quantization routine (Octree, Heckbert6 or Heckbert5) from the Control
  127. submenu. Fastest setting is 15 bpp and Heckbert5 quantization.
  128.  
  129. Choose the 'givebox' menuentry from PalMakers main-menu. And drag a
  130. rectangle to mark the area.
  131.  
  132. IMPORTANT: the start and endpoint of the drag has to be INSIDE the
  133.            window of interest, otherwise PalMaker will issue an error!
  134.  
  135. Now wait until the Hourglass stops and the palette is ready. If you are
  136. in a non 256 colour mode, switch to one and choose 'set' from PalMaker's
  137. main-menu.
  138.  
  139. What happens internally:
  140.  
  141. Immedialty after the rectangle drag has finished PalMaker switches the
  142. VDU output to a sprite and re-opens the window of interest translated
  143. so, that the bottom-left corner of the rectangle lies on point (0,0) in
  144. the sprite. A 'forceredraw' is issued for the window. Any open pane-
  145. window(s) will cover the window of interest because they are not opened
  146. outside the screen! So be sure there are no pane-windows connected to
  147. the left or bottom side of the window of interest!
  148.  
  149. 15, 24 bpp:
  150.  
  151. Depending on the bpp mode PalMaker is in (15 or 24) see main-menu item:
  152. 'Control->' redraw will be forced one or three times. See the Houglass
  153. changing colour from red, green to blue when in 24 bpp mode.
  154.  
  155. The 24 bpp mode can be used for any document drawing package. The 15 bpp
  156. mode can only be used when an Artworks file renderer is reponsible for
  157. the image rendered in the window of interest (!ArtWorks, !Impression or
  158. !AWViewer). When using !ArtWorks or !AWViewer be carefull about the
  159. fonts in 15 bpp mode. Make first shapes of any texts you want the correct
  160. colour for. When there are no blended objects in the file this can be done
  161. fast by selecting all objects and choosing the menuentry 'MakeShapes'.
  162.  
  163. IMPORTANT: !ArtWorks uses the RISC OS fontmanager and that doesn't
  164.            understand 15 bpp screenmodes, so the output palette is not
  165.            correct. When ArtWorks itself is in 'Preview' mode, the display
  166.            of fonts is correct and I suspect, when ArtWorks knows it is in
  167.            a 32000 colour preview mode it does a trick to display the fonts
  168.            correct. PalMaker cannot tell ArtWorks directly about the 32000
  169.            colour mode, but can only tell the low-level 'DitherExtend' and
  170.            other modules about the forced mode change by issuing a
  171.            'Service_ModeChange' after the VDU output was switched to a
  172.            sprite. This service call has no effect at all on the 'FontManager'
  173.            and 'FontDraw' modules, so they think they are still in a 4 or 8
  174.            bpp screenmode! CC has to do something about this.
  175.  
  176. Multi-tasking:
  177.  
  178. When PalMaker forces the remote redraws it signals this with the top led
  179. in the hourglass pointer. Be carefull what you do with the mouse pointer
  180. during the redraws. Because !Artworks can render multi-tasking PalMaker has
  181. to call the WIMP poll loop. Any mouse clicks during the remote redraws can
  182. pop up window(s) over the window of interest! This can not be seen as the
  183. VDU output is switched to a sprite. So be carefull.
  184.  
  185. Heckbert quantization:
  186.  
  187. One can choose now between 'Heckbert6' and 'Heckbert5' quantization routines.
  188. The difference is: Heckbert6 uses a 6 bits luminance and 6 bits chroma histogram.
  189. This results in a histogram size of (1<<6)^3 shorts = 512 Kb. If this amount of 
  190. memory isn't available the 'Heckbert5' routine will be used instead: a 6 bits
  191. luminance and 5 bits chroma histogram is (1<<6)*(1<<5)^2 shorts = 128 Kb. If
  192. there is still no 128 Kb, an error will be displayed.
  193.  
  194.  
  195.  
  196. Bugs:
  197.  
  198. One last point. PalMaker can CRASH havily on some windows (ie the backdrop
  199. window), so use PalMaker on !Draw, !ArtWorks, !Impression etc.. only.
  200.  
  201.  
  202. PalMaker 1.03 (11 Mar 1993) Copyright Ferdinand Oeinck
  203. ------------------------------------------------------
  204.  
  205. Version 1.03 includes a second quantization technique, the Heckbert
  206. median cut algorithm. It's the same as used in the JPEG software.
  207. So RGB values are converted to YCrCb (YUV) values with 6 bits accuracy.
  208. It is faster than the Octree algorithm but uses much more memory!
  209. Besides the three sprites held in memory, the Heckbert algoritm needs
  210. a histogram, which is about 512 Kb big. If there isn't enough memory to
  211. do a Heckbert quantization an error is given. If there is, all 512 Kb
  212. will be given back to the free slot after use.
  213.  
  214. Which algorithm gives the best result? I don't know. The two algorithms
  215. give different palettes and one must look very carefully to see
  216. differences in the resulting (ArtWorks) picture. Which picture is better,
  217. is I think a personal (and system dependent) question. But sometimes
  218. it seems, when using the Heckbert algorithm, big coloured areas are
  219. dithered, which are not, or less obvious dithered when using the Octree
  220. approach. But when using a lot of different colours (the whole spectrum)
  221. the Heckbert quantization seems to make a more balanced selection.
  222.  
  223. Another new feature is the possibility to see the RGB values for a
  224. palette entry. Click select on a colour in the Palette window.
  225.  
  226.  
  227. PalMaker 1.02 (8 Mar 1993) Copyright Ferdinand Oeinck
  228. ------------------------------------------------------
  229.  
  230. In version 1.02 there is a new feature, the idle recognition
  231. is better and a bug is cured.
  232.  
  233. - Palette saving and loading can now also be done through a 256 colour
  234. sprite. When you drag a 256 colour sprite to the PalMaker iconbar
  235. icon, the palette in the sprite is used for the display. You can also
  236. save a mini 256 colour sprite with the actual 256 colour palette attached
  237. to it.
  238.  
  239. The advantage of this is the following.
  240. For example with ArtWorks documents, you cannot save a calculated
  241. palette with the document. So you have to store the palettefile for a
  242. particular document on disc, or calculate the palette every time you
  243. load the document.
  244.  
  245. So why PalMaker can save a 256 colour sprite? You simply save the
  246. sprite to the Artworks document and delete it from the workarea. No
  247. panic, the sprite is still in the documents spritepool. The spritepool
  248. will be saved with the Artworks document. So the next time you load
  249. the document, you simply save the 256 colour sprite from the
  250. spritepool to PalMakers iconbar icon or to Palmakers open Palette
  251. window. And voila, the palette for the screen is taken from the sprite.
  252.  
  253. - sometimes when setting the palette, some parts of the desktop didn't
  254. redraw their graphics (eg the RISC OS 3 backdrop application). This is
  255. cured now (hopely).
  256.  
  257.  
  258. PalMaker 1.01 (17 Feb 1993) Copyright Ferdinand Oeinck
  259. ------------------------------------------------------
  260.  
  261. In version 1.01 some bugs are cured:
  262.  
  263.  
  264. - No select clicks on the PalMaker icon are needed anymore to
  265.   signal the end of a redraw sequence (clicks still work). The time
  266.   between null-events is used now to see if the computer is idle
  267.   (watch out for placing the pointer on 'pointer sensitive' icons
  268.   because that slows down the machine i.e. the taskmanager icon)
  269.  
  270.   Immediatly after PalMaker has installed its iconbar icon, a speed
  271.   test is done to see what the average time between null events is.
  272.   The iconbar menu of PalMaker is disabled during this speed test.
  273.  
  274.   Please report any bugs involved with this automatic idle signaling!
  275.  
  276. - Iconbar icon now installs correctly to the left of the Palette icon.
  277.  
  278. - saving of a 256 colour palette to a sprite window from !Paint
  279.   now doesn't give an error anymore.
  280.  
  281. - An obscure bug is cured where PalMaker wrote to memory below
  282.   &8000. This bug occured when runing PalMaker together with a
  283.   module called 'bugbuster', and when running PalMaker under the
  284.   DDT debugger.
  285.  
  286. - General clean up of code.
  287.  
  288. PalMaker 1.00 (20 Jan 1993) Copyright Ferdinand Oeinck
  289. ------------------------------------------------------
  290.  
  291. This program allows you to set the 256 colour palette for
  292. either the CC colourcard or State Machine's G8 range cards.
  293.  
  294. PalMaker is not an ordinary 'palette utility'-like program.
  295. There are no sliders nor dragbars with which one can specify
  296. RGB or CMYK or whatever value for a palette-entry.
  297.  
  298. The principle of PalMaker is to co-operate with a draw
  299. program like !Draw or !ArtWorks and to let them redraw three
  300. times a document of interest. Before every redraw the
  301. palette is set to one of the three primary colours red,
  302. green or blue. After every redraw a sprite of an area of
  303. interest is saved. From the resulting 24-bit image a best
  304. 256 colours palette is calculated with a colour quantization
  305. technique. Currently an octree algorithm is used. (in a
  306. future version one can choose from several quantization
  307. techniques such as Heckbert median cut and a variance based
  308. algorithm).
  309.  
  310. Open and position a draw program window, containing a
  311. document of interest on the screen. Then select the
  312. 'GiveBox' entry from the main iconbar menu from PalMaker.
  313. Proceed now as if you would make a '!Paint's screen
  314. snapshot'. The appearing rectangle should enclose the area
  315. of the screen in which the document is found.
  316.  
  317. After releasing the left mouse button, the palette is
  318. changed to a red one (0% to 100% red) and the draw program
  319. updates his document. When the redraw is finished you have
  320. to select click on the PalMaker iconbar icon. (Some draw
  321. programs, such as ArtWorks, are capable of rendering the
  322. contents of their main window in a multitasking way. So you
  323. have to hint PalMaker, as there is no way, PalMaker can find
  324. out itself when the redraw is ready).
  325.  
  326. This process is repeated with a green and a blue palette.
  327. After the last click on the PalMaker icon the palette is
  328. calculated.
  329.  
  330. To control the amount of colours one can choose the number
  331. of wanted greys and if there should be desktop colours in
  332. the palette.
  333.  
  334. Manual setting (after a modechange), Showing, Saving and
  335. Loading of a current 256 colourpalette is also possible.
  336.  
  337. When using !Artworks as draw program a few things must be
  338. watched out for to get the best result.
  339.  - Set anti-aliasing display off.
  340.  - Specify some (16 or 32) preset grey values because
  341.    Artworks renders greys wrong when there are no grey
  342.    values in the palette.
  343.  
  344.  
  345. Ferdinand Oeinck
  346. Grote Rozenstraat 47a
  347. 9712 TG  Groningen
  348. The Netherlands
  349. email: ferdinan@oeinck.waterland.wlink.nl
  350.  
  351.  
  352. This program is PD. You can do anything with it except sell it,
  353. or incorporate it or parts of it into another program!
  354.