home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / falcon / graphics / gemtarga / gemtarga.txt < prev    next >
Text File  |  1993-04-11  |  12KB  |  345 lines

  1. GEMTARGA.GTP                      Kurzbeschreibung des Programms
  2.  
  3.  
  4.  
  5.  
  6. NAME         
  7.  
  8.         GEMTARGA.GTP - zeigt ein Bild im Targa-Format in einem Fenster an
  9.  
  10.  
  11. SYNTAX
  12.  
  13.         gemtarga.gtp [-c] [-i] [-m] [-l] [-f] [-d] [-t] [-s{nr}] {filenames}
  14.  
  15.  
  16. BESCHREIBUNG
  17.  
  18.     GEMTARGA zeigt Bilder im 24-Bit Targa und im 16-Bit Targa-Format
  19.     an. Es unterstützt dabei alle Auflösungen, insbesondere erkennt
  20.     es einen Falcon am Video-Cookie, und schreibt, falls gewünscht und
  21.     der "True-Color-Mode" eines Falcons aktiv ist, 
  22.     direkt in den Bildschirm (zwecks enormer Geschwindigkeitssteigerung,
  23.     ohne das VDI zu benutzen).
  24.  
  25.     Die Bilder werden in einem ganz normalen GEM-Fenster angezeigt.
  26.     Die Bilder lassen sich verschieben (Mover) und schließen (Closer).
  27.     Das Programm endet automatisch, wenn alle zugehörigen Fenster 
  28.     geschlossen wurden.
  29.  
  30.     {filenames} ist eine Liste von Dateien, durch Leerzeichen getrennt.
  31.     Es dürfen hierbei auch gültige TOS-Wildcards angegeben werden,
  32.     zum Beispiel "*.TGA" oder "F:\P??.TGA".
  33.  
  34.     Das Programm kann auch als Accessory benutzt werden,
  35.     Anwahl des GEMTARGA-Accessorys öffnet eine Dateiauswahlbox,
  36.     in der eine neu anzuzeigende Datei angegeben werden kann.
  37.  
  38.     Das Drag- und Drop-Protokoll von MultiTOS wird unterstützt, d.h.
  39.     Sie können *.TGA-Dateien vom Desktop-Fenster aus über einem
  40.     GEMTARGA-Fenster ablegen, und diese Dateien werden von GEMTARGA
  41.     geladen und angezeigt.
  42.  
  43.     GEMTARGA versteht die MultiTOS Application-Terminate-Nachricht.
  44.  
  45.     Ein Doppelklick auf ein GEMTARGA-Fenster öffnet die 
  46.     Dateiauswahl, und erlaubt es, eine neue Targa-Datei anzuzeigen.
  47.     
  48.     Als Besonderheit wird der DSP genutzt falls vorhanden und gewünscht,
  49.     dies beschleunigt die Anzeige in den 256- und 16-Farben-Modi erheblich.
  50.     GEMTARGA daher bitte unter "Anwendung anmelden" mit Parameter
  51.     "-d " (nur auf einem Falcon notwendig).
  52.     
  53.     GEMTARGA verstellt die Farbpalette nicht, sondern sucht
  54.     die "passendsten" Farben heraus.
  55.     
  56.     Es werden nach jedem Fenster-Öffnen Events bearbeitet,
  57.     das ermöglicht es, bis zu ca. 99 Bilder simultan anzuzeigen.
  58.  
  59.     
  60.     Tastaturbefehle:
  61.  
  62.         Cntrl-Q:    Programm beenden, alle Fenster schließen
  63.  
  64.         Cntrl-U:    Das gerade aktive Fenster schließen
  65.  
  66.         Cntrl-W:    Fenster wechseln
  67.                 (Unter MultiTOS: ab in den Hintergrund,
  68.                 sonst nur interne Fensterliste)
  69.  
  70.         Escape:        Bild neuladen, Bildinhalt updaten
  71.  
  72.         1,2...,9:    1 bis 9 Sekunden-Rhythmus für
  73.                 Update-Aktion für das obenliegende Fenster
  74.                 einstellen.
  75.  
  76.         0:        Kein Update mehr für obenliegendes Fenster
  77.         
  78.         Help:        Information zum Programm anzeigen
  79.  
  80.  
  81.     Optionen:
  82.  
  83.         -i        Fenster-Infozeile anzeigen,
  84.                 dort werden Auflösungsinformationen
  85.                 angezeigt:
  86.                 X- und Y-Auflösung und ob 16 oder 24-Bit 
  87.                 Targa.
  88.  
  89.         -m        Mover, Name und Closer entfallen -
  90.                 Verschieben des Bildes erfolgt durch Mausklick
  91.                 ins Fensterinnere und Maustaste gedrückt halten.
  92.                 Schließen des Fensters durch Cntrl-U.
  93.                 
  94.  
  95.         -s{nr}        Der in geschweiften Klammern angegebene 
  96.                 Parameter ist unbedingt notwendig und stellt 
  97.                 die Zeit in Sekunden dar, die verstreichen, 
  98.                 bis das Bild "aufgefrischt" wird, d.h. es 
  99.                 wird neugeladen und dargestellt (quasi ein 
  100.                 automatisiertes "Escape")
  101.                 Dies ist nützlich für z.B. Benutzer des 
  102.                 Raytracers POV: POV berechnet im Hintergrund,
  103.                 und GEMTARGA zeigt das von POV schon 
  104.                 berechnete Teilbild an.
  105.                 Eine '0' bedeutet, das _kein_ Update
  106.                 stattfinden soll (Default).
  107.  
  108.         -t        Zeit zum Umwandeln der Targa-Datei in
  109.                 der Infozeile anzeigen, falls vorhanden, (-i)
  110.                 ansonsten erfolgt ein einfaches printf.
  111.  
  112.         -c        Kompatibilität einschalten:
  113.                 Es wird auf das Poken in den Bildschirm 
  114.                 verzichtet, auch wenn ein Falcon-Videocookie
  115.                 und -mode erkannt wurde.
  116.                 Damit läuft das Programm dann auch auf einem
  117.                 Falcon mit einer Graphikkarte, die den 
  118.                 Videocookie nicht berichtigt und auch
  119.                 einen 16-Bit-Modus benutzt.
  120.  
  121.         -l        Line-A Benutzung erlauben:
  122.                 Anstelle der VDI-Funktionen werden
  123.                 die Line-A Funktionen genutzt,
  124.                 aber nur in Modi, wo dies sinnvoll ist,
  125.                 z.B. nicht in Modi mit mehr als 256 Farben.
  126.  
  127.         -f        Fast-Modus für Direct-Color-Modi.
  128.                 Die Bildausgabe wird beschleunigt,
  129.                 aber das Bild wird aufgehellt 
  130.                 (leichte Farbverfälschung).
  131.                 Nur wirksam in Modi ohne Palette
  132.                 (Direct Color-Modi).
  133.                 Der Falcon-Modus bleibt aber 
  134.                 erheblich schneller und ist 100%ig in
  135.                 der Farbreinheit.
  136.  
  137.         -d        DSP nutzen, falls vorhanden.
  138.                 Der DSP 56001 kann in Paletten-Modi
  139.                 genutzt werden, um die Suche nach
  140.                 der geeignetsten Farbe zu beschleunigen.
  141.                 Dazu muß die DSPCOLOR.LOD-Datei vorhanden
  142.                 sein. Der Zeitgewinn ist enorm.
  143.                 Beweis:
  144.                 Anzeige des TGA-Bildes ROMAN.TGA 320x200
  145.                 in Falcon-Mode 640x480x256:
  146.                 301 s "Normal"
  147.                  88 s mit DSP-Nutzung
  148.                  71 s reines v_pmarker & vsm_color mit
  149.                       festcodierter Farbe
  150.                  26 s mit DSP-Nutzung und Line-A (put_pixel)
  151.                  -> 17s Farbsuche mit DSP, 230s ohne!
  152.                  => ca. 13mal schnellere Farbsuche mit DSP!
  153.                  (Obwohl der 68030-Farbsuchalgorithmus ohne
  154.                  Floating-Point und ohne Multiplikationen
  155.                  auskommt:
  156.                  3 Subtraktionen, 2 Additionen 
  157.                  und 1 Vergleich je Farbtopf).
  158.  
  159.     Die Optionen werden mit der Reihenfolge ihres Auftretens aktiv.
  160.  
  161.     Beispiel:
  162.     
  163.     gemtarga test1.tga -i test2.tga
  164.  
  165.     Das Bild test1.tga wird _ohne_ Infozeile angezeigt, das Bild 
  166.     test2.tga _mit_ Infozeile.
  167.     
  168.     Auf Falcons ohne Graphikkarte sollte GEMTARGA als
  169.     Anwendung für Dateityp "TGA" mit Parameter "-d -l " 
  170.     angemeldet werden.
  171.  
  172.  
  173. BEISPIEL
  174.  
  175.     gemtarga.gtp -i -s60 -c *.tga
  176.  
  177.     Dieser Aufruf zeigt alle im aktuellen Ordner vorhandenen Targa-Bilder
  178.     mit der Dateinamenserweiterung "TGA" in Fenstern an,
  179.     wobei die Fenster eine Informationszeile beinhalten.
  180.     Der Kompatibilitätsmodus ist eingeschaltet, d.h. auch auf einem
  181.     Falcon im 65.000 Farben-Modus werden nur VDI-Befehle zum Zeichnen
  182.     genutzt.
  183.     Alle 60 Sekunden wird jedes der geladenen Bilder erneut
  184.     vom Speichermedium geladen, so daß eventuelle Änderungen an
  185.     den Dateien sichtbar werden.
  186.  
  187.  
  188. FEHLER
  189.     Bei mehr als 8 Bildern kann aber immer dann ein "Hängen" geschehen,
  190.     wenn z.B. ein Fenster, das 9 Fenster verdeckte, geschlossen wird.
  191.     Anscheinend läuft dann der Message-Buffer zu/über, der auf
  192.     8 Einträge beschränkt ist. Abhilfe ist mir nicht bekannt. 
  193.     
  194.     Wenn ein Fenster beim erstmaligen Neuzeichnen nicht komplett
  195.     sichtbar ist, wird bei durch Redraw-Messages notwendigen 
  196.     vro_cpyfm nur der vorher sichtbare Teil geupdatet, der Rest des
  197.     Fensters ist undefiniert (Pixelmüll). Abhilfe: Escape-Taste bei 
  198.     komplett sichtbaren (d.h. getoppten) Bild drücken.
  199.     In zukünftigen Versionen wird das Bild erst komplett in einem
  200.     MFDB im Standardformat aufgebaut, einmal gewandelt und 
  201.     dieses Problem ist gelöst.
  202.  
  203.     Aus mir unbeannten Gründen wird oft der erste Druck von Cntrl-Q
  204.     nicht erkannt (zumindest unter MultiTOS). Nach einem Fenster-Move
  205.     oder drücken anderen Tasten geht's dann aber. 
  206.     Abhilfe ist mir unbekannt.
  207.     
  208.     Bei Parameter "-l" (Line-A nutzen, falls sinnvoll) findet
  209.     kein Clipping statt und somit gibt es Bomben, falls ein Fenster
  210.     gezeichnet werden muß, daß nur teilweise auf dem Bildschirm
  211.     zu sehen ist. Abhilfe erfolgt nicht mehr, denn mit dem
  212.     direkten Schreiben eines MFDB's im Standardformat erledigen
  213.     sich alle derartigen Probleme!
  214.     
  215.     Auf älteren TOS-Versionen kann es erforderlich sein,
  216.     den Namen des Programmes von "GEMTARGA.GTP" auf
  217.     "GEMTARGA.PRG" zu ändern, um es zu starten.
  218.     
  219.  
  220. BEMERKUNG    
  221.  
  222.     Die Ausgabe über VDI mittels vsm_color und v_pmarker ist
  223.     ätzend lahm. Nutzung von Line-A ist mindestens viermal
  224.     so schnell! (put_pixel). Ich hoffe, Atari ringt sich eines
  225.     Tages mal zu einer Funktion von der Form wie put_pixel
  226.     als VDI-Funktion durch. Auch für den Direct-Color-Mode
  227.     ist es nervtötend, für jedes Pixel erst einen vs_color-Aufruf
  228.     zu tätigen.
  229.     
  230.     Eine v_pixel-Routine folgenden Formats wünsche ich mir:
  231.  
  232.     v_pixel (int handle, int *px, int *color, long count);
  233.     handle = VDI-Handle,
  234.     px = Pixel-Array mit alternierenden x- und y-Werten
  235.     color = Farb-Array, halb so groß wie px, mit dem Farbindex des 
  236.     jeweiligen Punktes
  237.     count = Anzahl der zu zeichnenden Punkte
  238.  
  239.     und
  240.  
  241.     Um eine horizontale "bunte" Linie auf "einmal" zeichnen
  242.     zu können, ohne ein überflüssiges Array erstellen zu müssen:
  243.     v_hline (int handle, int x, int y, int *color, int count);
  244.     mit x = Anfangs-x-Koordinate
  245.     y = Zeile
  246.     color = Array von Farbindizes, an Stelle (x+n,y) wird color[n] benutzt
  247.     count = Anzahl zu zeichnender Punkte
  248.     Diese Funktion ist für jeden Raytracer oder jedes
  249.     Apfelmännchen sinnvoll!
  250.  
  251.     und
  252.  
  253.     v_cpixel (int handle, int *px, int *rgblist, long count);
  254.     Im Unterschied zu v_pixel ist diese Funktion für Direct-Color-Modi
  255.     gedacht, rgblist ist hier ein Array von 3*count Elementen,
  256.     rot-grün-blau in Folge, am besten nicht im blödsinnigen 1000-value
  257.     VDI-Format, sondern erlaubte Werte von 0 bis 255, der 68030 shiftet
  258.     das falls nötig für den jeweiligen Bildschirm-DAC geeignet zurecht.
  259.  
  260.     Jaja, ich weiß, man kann sein Bild auch selber erst zurechtfummeln
  261.     über das Standardformat und umwandeln, dies ist aber wenig elegant,
  262.     aufwendig und eigentlich unnötig. Nichtdestotrotz werde ich
  263.     wohl oder eher übelst diese Vorgehensweise in einer neueren 
  264.     Version anwenden werden...
  265.     Neu: Die DSP-Version für dieses Verfahren ist schon fast fertig,
  266.     und sie wird schnell sein...
  267.  
  268.     Eine 68882 nutzende Version wird auch noch kompiliert,
  269.     das dürfte aber wenig bringen, da nur Integer-Additionen
  270.     verwendet werden. Nur in manchen Direct-Color-Modi ist ein 
  271.     Geschwindigkeitsgewinn zu erwarten (3 Multiplikationen je Pixel).
  272.  
  273.  
  274. ZUKUNFT
  275.     Neue Versionen des Programms GEMTARGA werden 
  276.     mit folgenden Features erstellt werden:
  277.     (Die Reihenfolge gibt die Priorität wieder)
  278.     
  279.     MFDB wird erst vollständig im Standardformat aufgebaut,
  280.     dann einmalig transformiert, und fertig! (unter Zuhilfenahme
  281.     des DSP's, falls vorhanden)
  282.     Mit dem DSP VDI-Farbwerte ins Standardformat wandeln: 
  283.     0.175 s zu 0.87 s mit 68030 (256 Farben, 1000*16 Pixel)
  284.     ...muß nur noch in GEMTARGA eingebaut werden!
  285.     
  286.     Option -z: Bilder eins nach dem anderen in ein und demselben 
  287.     Fenster anzeigen
  288.     Option -Z: wie -z, nur beginnt nach dem letzten Bild
  289.     der gesamte Vorgang wieder von vorne...
  290.  
  291.     Ordner als Parameter: Ordner nach *.TGA-Bildern durchsuchen
  292.     (Drop von Ordnern startet diesen Vorgang auch)
  293.  
  294.     Option -r: rekursives Durchsuchen von Subordnern nach *.TGA
  295.  
  296.     Sizer/Pfeile-Fensterelemente
  297.     
  298.     Floyd-Steinberg Fehlerdiffusion (sieht aber kaum hübscher aus...)
  299.  
  300.     Aufhellen/Abdunkeln/Kontrastverstärkung/Konturverstärkung/etc.
  301.     Bildaddition/mischung/subtraktion
  302.     
  303.     Bilder sichern
  304.  
  305.     Eventuell wird auch noch das Vacc-Protokoll von Gemini unterstützt
  306.     werden
  307.     
  308.  
  309. AUTOR
  310.     Fragen, Anregungen und Kritik an den Autor:
  311.  
  312.     Christoph Wissing
  313.     Grüner Weg 7
  314.     4441 Wettringen
  315.  
  316.     Mausnetz: Christoph Wissing @ ST
  317.     
  318.     Telefon: (02 31) 75 61 94
  319.  
  320.  
  321. VERSION
  322.     Datum:        11.04.1993
  323.     Versionsnummer:    0.05
  324.     läuft auf:     allen Rechnern der Atari 680x0-Serie,
  325.             jeder TOS-Version und jeder Graphik-Karte
  326.             (hoffe ich...)
  327.  
  328.  
  329. STATUS
  330.     eingeschränktes Public Domain-Gut:
  331.     Dritte dürfen keine geldwerten Vorteile für das 
  332.     Weitergeben/Verbreiten von GEMTARGA beziehen.
  333.     D.h., PD-Versender mit Gebühren höher als Versandkosten plus
  334.     Diskettenkosten und Disk-Magazine über Selbstkostenpreis
  335.     fallen aus der Verbreitung heraus! 
  336.     Die Verbreitung über nichtkommerzielle DFÜ-Netze ist 
  337.     ausdrücklich erlaubt.
  338.  
  339.  
  340. ACHTUNG!
  341.     Ich schließe jede Haftung für Schäden durch Benutzung
  342.     des Programms aus, obwohl GEMTARGA nach bestem
  343.     Wissen und Gewissen programmiert wurde.
  344.  
  345.