
    ---------- TAGL FAQ -----------

This is not really an FAQ since I wasn't asked these questions. :-)


1.  Q: Is tagl compatible with OpenGL ?
2.  Q: My program does not compile anymore with the new release.
3.  Q: How do I disable window resizing under X11 ?
4.  Q: How do I open several windows in the same program ?
5.  Q: What are the displays supported ?
6.  Q: How do I add support for a new display type ?
7.  Q: Where is tagl programmers guide ?
8.  Q: What about DOS/Windows and OS/2
9.  Q: What about other machines ?
10. Q: How does environment mapping work ?

1. Q: Is tagl compatible with OpenGL ?

   A: Not for the moment, there will be maybe 
      a gateway that will emulate some of OpenGL calls
      by using tagl.

2. Q: My program does not compile anymore with the new release

   A: include g_20.h

3. Q: How do I disable window resizing under X11 ?

   A:#include "processors/gport/Xgport.h"
     GP->Cntl(XGraphicPort::RESIZE,0);

4. Q: How do I open several windows in the same program ?

   A: Use SetContext() and SaveContext() functions. 
      SaveContext() copies the current rendering context in
      the backup zone of the current GraphicPort. SetContext()
      copies a previously saved rendering context to the
      graphic bus. See 'contexts.cc' and 'xcontexts.cc' in
      the 'Samples' directory.


5. Q: What are the displays supported ?

   A: o X11 (with and without Xshm) and Linux/SVGAlib are supported

      o There is a PolygonEngine for 256 color mode,
                                     15bpp 555,
                                     16bpp 565,
                                     24bpp 888,
                                     32bpp xrgb, (most video boards)
                                     32bpp rgbx. (mach32 and some others)

      o There is a dos version for djgpp/VESA.

6. Q: How do I add support for a new display type ?

   A: o If you want to add support for a new display technology,
        inherit the GraphicPort class. Method names are self-
        explicit, and SVGAGport.cc is not very difficult to
        understand as a starting point.

      o If you have an exotic X server that has a different order
        for RGB components, you'll have to write a polygon engine.
        All you have to do is to define a few macros and include
        the generic polygon engine file (genpolyeng.h). There
	will be later on a program that will do this for you.

      o If you have managed to write support for a new display type,
        let me know (mail levyb@loria.fr) so that I can include
        it in the next distrib.


7. Q: Where is tagl programmers guide ?

   A: There is a "proto-programmer's guide" in the doc directory.

8. Q: What about DOS/Windows and OS/2

   A: There is a preliminary GraphicPort for DOS/djgpp.
      Windows and OS/2 are not supported for the moment (under work ...)
      see README.DOS

9. Q: What about other machines ?

   A: o AMIGA:
      --------
      The generic polygon engine has been written for chuncky graphic
      boards. A bitplane polygon engine would requiere much,much work,
      and would be sloooowwww. Bitplane graphic hardware allow nice
      things, like bitplane masking, and so on, but according to me,
      it requires specific hardware for efficient access. The Amiga Blitter
      (SuperFat Agnus if I remember ...) works well, but I don't think it
      can do ZBuffer ....
      That's why there probably won't be any port of TAGL for the standard
      Amiga. It is possible to write one for Amiga's that have truecolor
      boards, since most of them have a chuncky mode (Retina for instance).
      o ATARI:
      --------
      I have tryed some stuff on the Atari Falcon, and it began to work, the
      only thing I need is a keyboard and mouse polling function for the
      32K truecolor mode (I did not manage to initialize the GDI properly,
      maybe I did not try enough ...). Of course, 16 color won't be handled,
      since they are bitplane modes.
      o MACINTOSH
      -----------
      I just can't stand these machines, it s*cks a lot !!! Well, if I can
      get one with a C compiler installed on it, I'll try some coding. 
      Greg ferrar has ported his library (something similar to TAGL) on
      a mac, it proves that its graphics mode are chuncky, so it's possible
      to port TAGL also ...
      
10. Q: How does environment mapping work ?

    A: Environment mapping makes an object look like as it it was a mirror.
       This effect is performed with the combined use of a suitable texture
       image and a special generation of texture coordinates. The texture
       image is a photography (or a synthetic image) of a spherical mirror.
       Texture coordinates are generated as the projection of the normal
       vector at each vertex. This results in mapping the corresponding texel
       from the texture image.
