README.glut3
上传用户:xk288cn
上传日期:2007-05-28
资源大小:4876k
文件大小:5k
源码类别:

GIS编程

开发平台:

Visual C++

  1. CHANGES for GLUT API version 3
  2. -------------------------------
  3. GLUT API version 3 should be (almost) fully compatible with the
  4. GLUT API version 2.  See the GLUT 3 specification for full details.
  5. Please be aware of two obscure reasons that programs that worked
  6. under GLUT API version 2 may need slight modification for GLUT 3.
  7.   1)  You are now _required_ to have a display callback registered
  8.       for any GLUT window displayed to the screen.  Otherwise a
  9.       fatal error is generated.  It would be a bug in your program
  10.       otherwise!  In conjunction with this, you can no longer
  11.       call glutDisplayFunc(NULL) to unregister a display callback.
  12.   2)  It is a fatal error now to modify a GLUT pop-up menu while
  13.       menus are in use.  There were too many semantic problems with
  14.       changing menus that may be currently displayed.  To determine
  15.       if menus are in use, you can use the "menu use" callback registered
  16.       with glutMenuStatusFunc
  17. Here are the GLUT API version 3 additions in more detail:
  18.   void glutSetCursor(int cursor)
  19.   int glutGet(GLUT_WINDOW_CURSOR)
  20.      Provides a way to set (and get) the window's cursor to one
  21.      of several enumerated cursor shapes including "none",
  22.      "stop-watch", "arrow", "crosshair", "pull left/up/down/etc.",
  23.      or "inherit".
  24.   void glutFullScreen(void)
  25.      Attempts to make the window as large as the window system
  26.      permits (ie, the screen size).  Borders will be automatically
  27.      disabled if possible.
  28.   void glutMenuStatus(void (*)(int status, int x, int y))
  29.      The existing glutMenuState routine's callback did not
  30.      provide the X & Y location when the menu state changed
  31.      which made it impossible to correctly implement locate
  32.      highlight in conjunction with menus.  glutMenuStatus
  33.      returns the location.
  34.    GLUT_BITMAP_HELVETICA_10
  35.    GLUT_BITMAP_HELVETICA_12
  36.    GLUT_BITMAP_HELVETICA_18
  37.  
  38.       New bitmap fonts in a nicer font at nicer sizes.
  39.    int glutStrokeLength(void *, char *string)
  40.    int glutBitmapLength(void *, char *string)
  41.       Given a font handle and a string, returns the length in
  42.       modelview units or pixels respectively for the string
  43.       if rendered with the font.
  44.    int glutCurrentModifiers(void)
  45.       When called from within a keyboard, special keyboard, mouse
  46.       button, or mouse callback, returns a bitmask representing
  47.       the modifier keys active when the event generating the callback
  48.       occured.  This will let you implement Alt+<key> combinations
  49.       and such.
  50.    void glutEstablishOverlays(void)
  51.    void glutRemoveOverlays(void)
  52.    void glutOverlayDisplayFunc(void (*func)(void))
  53.    void glutPostOverlayRedisplay(void)
  54.    void glutUseLayer(GLenum layer)
  55.    void glutLayerGet(GLenum type)
  56.    void glutShowOverlay(void)
  57.    void glutHideOverlay(void)
  58.       This API provides a way to "add" an overlay to a GLUT window.
  59.       The overlay is like IRIS GL overlay support in that the overlay
  60.       completely overlaps the window.  You setup the layer with
  61.       glutEstablishOverlay.  You switch between the normal plane
  62.       and overlay using glutUseLayer.  You can register an independent
  63.       callback for redisplaying the overlay, or use a unified display
  64.       callback for both layers.
  65.       I believe this is a very simple overlay facility that will be
  66.       readily useful for OpenGL programs wanting access to overlay
  67.       planes.
  68.    GLUT_LUMINANCE
  69.      This is a new display mode that is like OpenGL's basic RGBA
  70.      color model, but has no Green or Blue components (and Alpha
  71.      is optional).  The Red component represents single component
  72.      (or "luminance") data (between 0.0 and 1.0).  The component
  73.      is integerized to between 0 and glutGet(GLUT_WINDOW_COLORMAP_SIZE)-1
  74.      and looked up in a per-window color map.  GLUT's glutSetColor,
  75.      glutGetColor, and glutCopyColormap work on a GLUT_LUMINANCE
  76.      window.  The initial colormap of GLUT_LUMINANCE windows is
  77.      initialized to be a linear gray ramp.
  78.      GLUT_LUMINANCE is very much like a color index window with
  79.      an RGBA rendering model.  GLUT_LUMINANCE should be useful for
  80.      scientific visualization.
  81.      Only some platforms will support GLUT_LUMINANCE.  SGI's IMPACT
  82.      and InfiniteReality systems should provide GLUT_LUMINANCE
  83.      support, however while the GLUT version 3 API provides GLUT_LUMINANCE,
  84.      GLUT 3.0 does not implement GLUT_LUMINANCE support.
  85.      Exact specifics of how GLUT_LUMINANCE operates are subject to
  86.      change.
  87. Also there are a handful of minor bug fixes (of course).