home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / graphics / opengl / 214 < prev    next >
Encoding:
Internet Message Format  |  1992-12-15  |  3.4 KB

  1. Path: sparky!uunet!usc!cs.utexas.edu!sun-barr!ames!sgi!fido!spud.asd.sgi.com!segal
  2. From: segal@spud.asd.sgi.com (Mark Segal)
  3. Newsgroups: comp.graphics.opengl
  4. Subject: Re: conformance question
  5. Date: 16 Dec 1992 00:16:16 GMT
  6. Organization: Silicon Graphics, Inc.
  7. Lines: 56
  8. Distribution: world
  9. Message-ID: <1glsggINNh1c@fido.asd.sgi.com>
  10. References: <1992Dec15.074053.1837@dsd.es.com> <1992Dec15.080609.26325@microunity.com> <1992Dec15.204500.14333@dsd.es.com>
  11. NNTP-Posting-Host: spud.asd.sgi.com
  12.  
  13. In article <1992Dec15.204500.14333@dsd.es.com>, rthomson@mesa.dsd.es.com (Rich Thomson) writes:
  14. |> In article <1992Dec15.080609.26325@microunity.com>
  15. |>     jsw@microunity.com (Jeff Weinstein) writes:
  16. |> >  From the GLX extension spec, version 1.0:
  17. |> >
  18. |> >    A conformant GLX extension must provide at least one RGB visual
  19. |> >    with a spencil buffer, a depth buffer, and an accumulation buffer
  20. |> >    with color components of non-zero size.  A conformant extension
  21. |> >    must also provide at least one color index type visual with depth
  22. |> >    and stencil buffers.  Other visuals with fewer associated buffers
  23. |> >    may also be made available.
  24. |> >
  25. |> >So the answer to your question is no, at least in the context of GLX.
  26. |> 
  27. |> How does this mesh with the following:
  28. |> 
  29. |>     ``All color buffers must have the same number of bitplanes,
  30. |>     although an implementation or context may choose not to provide
  31. |>     right buffers, back buffers, or auxiliary buffers at all.
  32. |>     Further, an implementation or context may not provide depth,
  33. |>     stencil, or accumulation buffers.''
  34. |>     (OpenGL specification V1.0, pg. 88)
  35. |> 
  36. |> Further, it seems that the presence of double buffering, depth
  37. |> buffering, stencil buffering and accumulation buffering isn't strictly
  38. |> required of all OpenGL implementations since the glGet() function is
  39. |> used to query the presence of these.
  40. |> 
  41. |> I'm still curious how this is different from subsetting.
  42.  
  43. OK, I'll give it a try.  The OpenGL specification describes how OpenGL
  44. is supposed to act in a SINGLE visual, not over all visuals (see page 5
  45. of the spec).  We wanted to allow visuals without z-buffers, for instance,
  46. because, for instance, there may be some machines that can't provide both
  47. a z-buffer and a whole bunch of framebuffer bits for other stuff.  Thus,
  48. the specification needs to say how things operate in case certain buffers
  49. aren't present.
  50.  
  51. The GLX specification describes how OpenGL integrates into X, and thus
  52. describes facts about visuals and how they must relate to OpenGL (there
  53. are analogous requirements for Windows/NT).  One of the requirements
  54. of the integration is that certain visuals with certain features must
  55. be provided, exactly because we want to be sure that minimum functionality
  56. is always available in at least one visual.  As long as a programmer uses
  57. only that functionality, there can't be any problem about 'subsetting.'
  58.  
  59. We cannot take the union of all possible framebuffer configurations and
  60. require that these be present across all platforms; this would be both
  61. impractical and undesirable.  So we came to a compromise.  It's true:
  62. some machines may provide visuals with, say, 24 bits of stencil while
  63. others may provide only 1 (you can determine how many bits you have by
  64. making the appropriate glGet() call).  But it's never the case that some
  65. feature or some arbitrary group of features can be missing from an
  66. implementation (given the correct visual, anyway).
  67.  
  68.     Mark
  69.