home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / windows / x / pex / 469 < prev    next >
Encoding:
Text File  |  1992-08-18  |  8.0 KB  |  172 lines

  1. Newsgroups: comp.windows.x.pex
  2. Path: sparky!uunet!orca!mesa!rthomson
  3. From: rthomson@mesa.dsd.es.com (Rich Thomson)
  4. Subject: Re: Future development of PEX/PHIGS
  5. Message-ID: <1992Aug18.182730.3478@dsd.es.com>
  6. Sender: usenet@dsd.es.com
  7. Nntp-Posting-Host: 130.187.85.21
  8. Reply-To: rthomson@dsd.es.com (Rich Thomson)
  9. Organization: Design Systems Division, Evans & Sutherland, SLC, UT
  10. References: <1992Aug13.221534.29469@noose.ecn.purdue.edu> <1992Aug14.172943.22563@dsd.es.com> <1992Aug14.210903.23864@noose.ecn.purdue.edu>
  11. Date: Tue, 18 Aug 92 18:27:30 GMT
  12. Lines: 158
  13.  
  14.  
  15. In article <1992Aug14.210903.23864@noose.ecn.purdue.edu>
  16.     John Lu <luj@ecn.purdue.edu> writes:
  17. >The biggest plus of the PHIGS(+) seems to be the fact that it is
  18. >an international standard. [...] When will PHIGS/PHIGS PLUS incorporate
  19. >those requirements [anti-aliasing, texture-mapping] so that one can be
  20. >_guranteed_ to have portablity and uniformity ?  
  21.  
  22. Oh, I guess I mis-parsed your previous statement.  When you said
  23. "PHIGS/PHIGS-PLUS can never speed up", were you referring to the speed
  24. of an implementation (what I thought), or the speed of the standards
  25. process?  As I mentioned in another note, there is no need to take the
  26. slow route through the standards process to implement these features
  27. in a portable and uniform way.  All the things you ask for can be
  28. brought about through registration:
  29.  
  30.     GSEs to control anti-aliasing effects
  31.     data mapping method records to control texture mapping (the
  32.     primitives can already contain arbitrary per-vertex data, so
  33.     there is no need to get a new primitive approved to support
  34.     per-vertex texture coordinates)
  35.  
  36. I was incorrect when I stated earlier that registration didn't require
  37. a vote; it does require a vote, but the process is much faster than
  38. changing the standard.  A registration proposal can probably be
  39. approved into the standard within the same time it would take for
  40. other vendors to implement the registered feature in the next release
  41. of their software products.
  42.  
  43. I said:
  44. >|> Given any particular API or
  45. >|> programming model, its possible to create a hardware/software
  46. >|> combination that will run fast.
  47.  
  48. >That's why I was saying that PEX can probably catch up to support those
  49. >functionalities, though I'm not sure when the complete _inter-operability_
  50. >can be achieved.
  51.  
  52. Complete interoperability is functionally here right now.  Under the
  53. PHIGS model, registration allocates positive identifiers to registered
  54. items.  Implementation-specific items use negative identifiers.  Under
  55. PEX, they extended this concept even further by subdividing the
  56. negative name-space of the identifiers into intervals assigned to each
  57. vendor.  Thus, when a PEX server encounters a GSE, it can determine
  58. the (vendor,GSE) pair that indicates what the server should do (if
  59. possible) to simulate/emulate the GSE.  This is how the extensions
  60. provided in PEX by different vendors can be allowed to interoperate
  61. _before_ they are registered officially with PEX/PHIGS.  Note also,
  62. the PEX is not an ANSI/ISO standard, but an X Consortium Standard.
  63. I believe (correct me if I'm wrong, Jay) that there is a registration
  64. process for PEX as well, probably considerably shorter than for PHIGS.
  65.  
  66. >If PEX spec chooses to be more strigent 
  67. >and to eliminate the subset problems,
  68.  
  69. Many people are pushing for elimination of subsets in 6.0.
  70.  
  71. >then PEXlib can probably supercede the PHIGS API to compete with the OpenGL.
  72.  
  73. Personally, I think statements like this are misleading.  The PHIGS
  74. API is not the limiting factor in obtaining performance, so using it
  75. should be a matter of choice and not necessity.  I don't think PEXlib
  76. is going to be a popular API for applications, but will be a popular
  77. SPI (systems programming interface) for 3D toolkits that simplify the
  78. generation of 3D graphics for the applications programmer.
  79.  
  80. >|> [...] What users care about is performance available to their
  81. >|> application, not just a peak number of for a contrived or pathological case
  82. >|> of data. 
  83. >
  84. >As a user in the area of general-purpose computing, I can the performance 
  85. >as well as the portability of my applicaton software. 
  86. >Given a certain PHIGS implementation having
  87. >non-standard extension, how is the portability  guranteed ?
  88.  
  89. Portability has always been a not-easily obtained goal in graphics.  X
  90. is supposed to be portable, but I can't tell you how many programs
  91. don't run in an environment different from the one in which they were
  92. generated.  It seems that many people just can't be bothered with
  93. searching the list of visuals to find the right one, etc.
  94.  
  95. Graphics applications are typically attempting to squeeze out all they
  96. can from the hardware in order to obtain interactivity.  The level at
  97. which one programs in order to obtain interactivity is much different
  98. between a workstation and a 386 IBM/clone.  The bottom line for
  99. interactivity is knowing the capabilities of the device and
  100. programming to them.  This is completely at odds with portability,
  101. which attempts to know almost nothing about the device's particular
  102. capabilities.
  103.  
  104. >My points are:
  105. >    1). PHIGS standard promises the portability. However, due to
  106. >the lack of advanced features in the PHIGS and the nonstandard extensions 
  107. >from differnt PHIGS implemations, the highly expected portablity is lost.
  108.  
  109. Someone else mentioned to me that standards codify accepted practice.
  110. "Advanced features" are, by definition, not accepted practice.  The
  111. majority of CAD/CAM users out there don't need motion blur.  Of
  112. course, in an industry as dynamic and changing as computer graphics,
  113. what is "accepted practice" can change quite quickly.  For many,
  114. portability has always meant coding to the least-common denominator.
  115. This has always come at the expense of some feature set.
  116.  
  117. >    2). It is quite evident that the PHIGS API has _much_ room to desire.
  118.  
  119. Quite evident to you perhaps.  Others may disagree.  Its important to
  120. make the distinction between fact and opinion.  The above is clearly
  121. your opinion.
  122.  
  123. >    3). I certainly do not expect that my graphics application have the
  124. >same performace on all the plateforms. However, I do want my applications to 
  125. >run on as many plateforms as possible.
  126.  
  127. If your application requies interactivity, and not just static
  128. renderings, then the performance will be critical to the usefulness of
  129. the application.  Attempting to interactively manipulate 10,000
  130. polygons on an underpowered machine is going to be so frustrating as
  131. to make the application useless.
  132.  
  133. >I also expect that the application have a high performance on a high-end
  134. >workstation yet be able to run a low-end box. 
  135. >OpenGL seems to have solved this this problem.
  136.  
  137. Again, there is a difference between "being able to run" and running
  138. usefully.  OpenGL doesn't make 386 PCs, or any other low-end machine,
  139. run things faster.
  140.  
  141. >Yes, there is _always_ the need for data reformating, but one wants to
  142. >avoid this as much as possible.
  143.  
  144. Under OpenGL, the same reformatting happens; you merely get what
  145. language designers call "syntactic sugar" so that you can provide the
  146. data in any datatype you wish.  However, at the core of all graphics
  147. rendering today (at least the PEX/OpenGL type) is a graphics pipeline.
  148. Data goes in one side and pixels come out the other (I'm
  149. oversimplifying).  This pipeline is going to have its own natural data
  150. format for the data that is the most efficient for its algorithms.
  151. Your data will be reformatted to this internal representation.
  152.  
  153. >In PHIGS and PEXlib, data reformating is almost essential, it is ubiquitous.
  154.  
  155. PEXlib is not intended to be an API, but an SPI.  If you want the
  156. same syntactic sugar that is provided in OpenGL, you can write a
  157. toolkit on top of PEXlib that does this reformatting for you.
  158.  
  159. >I do have some boxes running PEX-SI
  160.  
  161. If possible, I recommend you get a PEX server from your workstation
  162. vendor instead of the PEX-SI.  The SI is, after all, a Sample
  163. Implementation, and can't be expected to run blazingly fast or provide
  164. a gigantic feature set.
  165.  
  166.                         -- Rich
  167. -- 
  168.     Repeal the personal income tax; vote Libertarian in 1992.
  169. Disclaimer: I speak for myself, except as noted; Copyright 1992 Rich Thomson
  170. UUCP: ...!uunet!dsd.es.com!rthomson            Rich Thomson
  171. Internet: rthomson@dsd.es.com    IRC: _Rich_        PEXt Programmer
  172.