home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk1.iso / answers / pex-faq < prev    next >
Internet Message Format  |  1993-12-15  |  36KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!nic.hookup.net!swrinde!cs.utexas.edu!uunet!orca.es.com!mesa!rthomson
  2. From: rthomson@dsd.es.com (Rich Thomson)
  3. Newsgroups: comp.windows.x.pex,comp.answers,news.answers
  4. Subject: (13sep93) Welcome to comp.windows.x.pex! (FAQ)
  5. Followup-To: comp.windows.x.pex
  6. Date: 15 Dec 1993 19:54:38 GMT
  7. Organization: Design Systems Division, Evans & Sutherland, SLC, UT
  8. Lines: 865
  9. Approved: news-answers-request@MIT.Edu
  10. Distribution: world
  11. Message-ID: <2enq1u$ri8@orca.es.com>
  12. Reply-To: rthomson@dsd.es.com
  13. NNTP-Posting-Host: 130.187.85.21
  14. Summary: Frequently asked questions about PEX
  15. Keywords: PEX, FAQ
  16. Frequency: monthly
  17. X-Rcs-Header: $Header: pex-faq,v 1.5 93/03/02 23:17:17 rthomson Locked $
  18. Originator: rthomson@mesa
  19. Xref: senator-bedfellow.mit.edu comp.windows.x.pex:1307 comp.answers:3037 news.answers:15854
  20.  
  21. Archive-name: pex-faq
  22. Last-Modified: 13 September 1993
  23.  
  24. This article discusses frequently asked questions (FAQs) about PEX,
  25. the PHIGS Extensions to the X Window System.  Each question is grouped
  26. as an article in a digest.  Some news readers (i.e rn) have commands
  27. for skipping to the next article in a digest.  In rn, ^G (control-G)
  28. skips to the next article in a digest.  The information in this
  29. article is culled from several sources: the FAQ in comp.windows.x,
  30. and articles in the newsgroups comp.windows.x and comp.graphics.
  31. Where possible, the author, date and article id of the original
  32. newsgroup article is included.  When I have edited/modified the
  33. original article, I have enclosed my modifications in square brackets
  34. [] with my initials (RT) at the end.
  35.  
  36. Contents:
  37.   1)  What's new?
  38.   2)  What is PEX?
  39.   3)  How can I tell if my X server supports PEX?
  40.   4)  Why don't the R5 PEX demos work on my mono screen?
  41.   5)  Where can I get an X-based PEX package?
  42.   6)  What about immediate mode for PEX?
  43.   7)  Why don't the R5 PEX contributed demos compile?
  44.   8)  Why doesn't double-buffering work via phigs_ws_type_create?
  45.   9)  What does "Kernel not configured with shared-memory IPC" mean?
  46.  10)  Obtaining Graphics Standards (GKS, PHIGS, etc.)
  47.  11)  PHIGS/PEX Books
  48.  12)  Articles on PEX
  49.  13)  PEX Application Programmer Interfaces (APIs)
  50.  14)  PHIGS Toolkit -- a portable toolkit for PHIGS programmers
  51.  
  52. Acronyms:
  53.  
  54. ANSI        American National Standards Institute
  55. API        Application Programmer Interface
  56. CGM        Computer Graphics Metafile
  57. GKS        Graphics Kernel System
  58. HLHSR        Hidden line and hidden surface removal
  59. ISO        International Organization for Standardization
  60. PEX        PHIGS/PHIGS-PLUS Extensions to X
  61. PHIGS        Progammer's Hierarchical Interactive Graphics System
  62. PHIGS-PLUS    PHIGS Plus Lumiere Und Surfaces
  63. R5        X Window System, Version 11 Release 5
  64. SI        Sample Implementation
  65.  
  66. ------
  67. Subject:  1)  What's new?
  68. From: Rich Thomson <rthomson@dsd.es.com>
  69. Date: Mon Sep 13 15:52:13 MDT 1993
  70.  
  71. Modifications since the 3 March 1993 version:
  72. o   Revamped section on PHIGS books
  73.  
  74. Added since the 7 December version:
  75. o   Clarification that although PEX stands for "PHIGS Extensions to
  76.     X", this acronym's expansion has only historical significance in light
  77.     of PEX 6.0
  78. o   Changing of API section to have updated information on PEXtk and PEXlib
  79. o   Changing of book section to have information on O'Reilly
  80.     PHIGS/PEXlib books
  81. o   Added new section on the PHIGS Toolkit from the UK
  82. o   This section describing changes from the last version
  83.  
  84. ------
  85. Subject:  2)  What is PEX?
  86. From: hersh@expo.lcs.mit.edu (Jay Hersh)
  87. Date: Mon Dec  7 14:10:47 MST 1992
  88. Message-Id: <9201201706.AA13024@xenon.lcs.mit.edu>
  89.  
  90. [PEX originally stood for PHIGS Extensions to X.  However, this name
  91. is nothing more than history at this point, since the next version of
  92. the PEX protocol, version 6.0, is not really designed specifically for
  93. PHIGS at all.  Rather, it is designed to support 3D application
  94. programs in general. --RT]  It is a an Extension to the Core X
  95. Protocol to provide 3D graphics support within the X Windows
  96. environment.  Included in the X11R5 distribution is code for the
  97. Sample Implementation of the extensions to the X Windows server which
  98. implements the functionality defined by the PEX Protocol Extensions.
  99.  
  100. In order to access the PEX funtional extensions to the X Server
  101. one must use an application that generates PEX Protocol.  The
  102. application can either generate the Protocol bytestream itself, or
  103. use something called an Application Protocol Interface or API for
  104. short.  One such API which is provided with the X11R5 distribution
  105. is the PHIGS 3D graphics standard.  This is a port of the PHIGS C
  106. language binding onto an internal layer which generates the PEX
  107. Protocol allowing this particular PHIGS implementation to work
  108. within the X windows environment.
  109.  
  110. Other alternate APIs are available via anonymous ftp from
  111. export.lcs.mit.edu.
  112.  
  113. Patches for a variety of problems in R5 are now available via
  114. anonymous ftp on export.lcs.mit.edu, and the xstuff mail archive
  115. server on expo.lcs.mit.edu.
  116.  
  117. Fixes are available via anonymous ftp to export.lcs.mit.edu
  118. (18.24.0.12), in the directory /pub/R5/fixes/.  The files for the new
  119. fixes are "fix-18", "fix-19", and "PEXlib.tar.Z".  PEXlib.tar.Z is
  120. part of fix #19.  Instructions for applying the fixes are included in
  121. the files.  Fixes usually propagate to other distribution sites as
  122. well, so it may pay to check at a nearer site first.
  123.  
  124. - Jay Hersh
  125.   MIT X Consortium
  126.  
  127. ------
  128. Subject:  3)  How can I tell if my X server supports PEX?
  129. From: hersh@expo.lcs.mit.edu (Jay Hersh)
  130. Date: Mon, 20 Jan 92 12:06:01 -0500
  131. Message-Id: <9201201706.AA13024@xenon.lcs.mit.edu>
  132.  
  133. The xdpyinfo command displays all the extensions supported by a server.
  134. If one of the extensions listed is X3D-PEX then your server supports PEX.
  135.  
  136. - Jay Hersh
  137.   MIT X Consortium
  138.  
  139. ------
  140. Subject:  4)  Why don't the R5 PEX demos work on my mono screen?
  141. From: xug@mta.com (X User's Group)
  142. Date: Sun, 15 Dec 91 20:51:04 GMT
  143. Message-Id: <1991Dec15.205122.5581@mta.com>
  144. Newsgroups: comp.windows.x
  145.  
  146. The R5 sample server implementation only works on color screens, sorry.
  147.  
  148. ------
  149. Subject:  5)  Where can I get an X-based PEX package?
  150. From: xug@mta.com (X User's Group)
  151. Date: Sun, 15 Dec 91 20:53:23 GMT
  152. Message-Id: <1991Dec15.205323.5657@mta.com>
  153. Newsgroups: comp.windows.x
  154.  
  155.     The official release of PEX is with X11R5.
  156.  
  157.     There is now available from the University of Illinois an 
  158. implementation of the PEX 4.0 specification called UIPEX. It contains a "near-
  159. complete" implementation of PHIGS and PHIGS PLUS. The file 
  160. pub/uipex/uipex.tar.Z is on a.cs.uiuc.edu (128.174.252.1); the porting platform
  161. was an RT running 4.3.  Questions and comments can to go uipex@cs.uiuc.edu. 
  162.  
  163.     In addition, the PEXt toolkit by Rich Thomson (rthomson@dsd.es.com) is 
  164. available on export as PEXt.tar.Z; it includes a PEX widget making it easier to
  165. include PEX in Xt-based programs.
  166.  
  167.  
  168. ------
  169. Subject:  6) What about immediate mode for PEX?
  170. From: jch@Stardent.COM (Jan "Yon" Hardenbergh)
  171. Date: 7 May 91 15:39:02 GMT
  172. Message-Id: <1991May7.153902.6083@Stardent.COM>
  173. References: <JIM.91May6113744@baroque.Stanford.EDU>
  174. Newsgroups: comp.graphics
  175.  
  176. PEX has immediate mode intrinsically.  No need to add it.  What is
  177. needed is the API.  There are currently three proposed interfaces to PEX
  178. Immediate mode: PEXIM, PEXlib and PEXtk.  PEXIM is actually a PHIGS
  179. subset with immediate mode extensions.  PEXlib is to the PEX protocol
  180. what Xlib it to the X protocol.  PEXtk is trying to capture the best of
  181. the proprietary graphics interfaces.
  182.  
  183. Of course, PEXIM has the advantage that graphics hackers familiar with
  184. PHIGS can pick it right up, or that can read one of the (great :-) PHIGS
  185. books coming out.
  186.  
  187. The ANSI PHIGS committee started to add immediate mode to PHIGS.  So,
  188. eventually, the API for PEX immediate mode will probably fall back to
  189. PHIGS, but that is just opinion.
  190.  
  191. From: jim@baroque.Stanford.EDU (James Helman)
  192. > But does this actually address the problem?  The main reason that
  193. > PHIGS is well-suited for networked graphics is that once your large
  194. > mass of geometry is downloaded, you can rapidly change attributes and
  195. > transformations without blasting the whole object down the slow wire.
  196. > But in immediate mode, one typically sends everything down the wire
  197. > each draw cycle.  With graphics speeds hitting 1 million polys per
  198. > second, you certainly can't blast enough data down an ethernet to feed
  199. > the graphics hardware.
  200.  
  201. You have to look at what is happening to the majority of the data.  If
  202. the geometry is stable but the attribute change, then you can store the
  203. geometry in the server and use immediate mode to send the attributes.
  204. This is referred to as "mixed mode" or mixing stored structures with
  205. immediate mode.  This is a very powerful model of graphics.
  206.  
  207. > Hence unless network bandwidth outpaces graphics performance, an
  208. > immediate mode PEX API won't be particularly useful over a network.
  209. > One could replace the PEX layer with local graphics access to get
  210. > performance, thus making the immediate mode PEX API a standard for
  211. > non-PEX graphics, but this is a rather convoluted path to such an end.
  212.  
  213. It's never safe to assume that the relative speeds of components of the
  214. system will stay the same.  You are comparing the high end of rendering
  215. with the low end of networking.  Compare the current high end of
  216. networking, like FDDI at 12 MBytes per second and it works out just
  217. fine.  1 M polygons/sec takes 12 MB / second.  Of course both of those
  218. numbers are PEAK numbers.  When you start to look at what applications
  219. really do, the peak numbers become irrelevant.
  220.  
  221. > Maybe GL and XGL's days aren't so numbered.  Or am I missing
  222. > something?  Perhaps, local shared memory PEX request queues?  The
  223. > article didn't even mention bandwidth as a concern.
  224.  
  225. Yes, of course good implementations of PEX will have shared memory.
  226.  
  227. But let's talk about the bread and butter cases.  The majority of the
  228. market has not hit the 30 K triangles per second mark.  Ethernet can
  229. keep up with that quite easily, and shared memory does more than keep
  230. up.
  231.  
  232. But, there is overhead in a network transparent protocol.  To get rid of
  233. it would require the application to write thier data directly into the
  234. shared memory, then there are no copies, still something to work for.
  235. People used to say X would never work due to the overhead, or for that
  236. matter that fancy UI's do not work due to the overhead.  Depends on what
  237. you want and where your priorities are.
  238.  
  239. My guess is that the combination of compute servers and PEX terminals
  240. and workstations will help PEX become the graphics of choice.  If you
  241. are not recomputing your 1 million triangles they can be in the display
  242. list.  If you are recomputing them, how long does that take? on what
  243. machine?
  244.  
  245. Disclaimer: I've had something to do with PEX and PEXIM and I always
  246. speak on my own behalf, unless specifically stated otherwise.
  247.  
  248. -Jan "YON" Hardenbergh       jch@stardent.com         (508)-371-9810x261
  249. Stardent Computer, 6 N.E. Tech Center, 521 Virginia Rd,Concord, MA 01742
  250.  
  251. ------
  252. Subject:  7)  Why don't the R5 PEX contributed demos compile?
  253. From: hersh@expo.lcs.mit.edu
  254. Date: Thu, 30 Apr 92 15:39:27 -0400
  255. Message-Id: <9204301939.AA06066@exhume.lcs.mit.edu>
  256.  
  257. >   [Initially at the time of R5's release...] it was a bit of
  258. >   work to upgrade PEX to the new ISO IS PHIGS C Binding.  The examples
  259. >   had been put into contrib a while back and there was no time nor
  260. >   manpower to worry about updating those when other things had to be
  261. >   fixed and upgraded (like the man pages).
  262.  
  263. The demos have been upgraded.  The new versions for the ISO PHIGS C
  264. binding are available from export.lcs.mit.edu  in the file
  265. PEX.examples.tar.Z in the directory contrib/R5fixes.
  266.  
  267. - Jay Hersh
  268.  
  269. -----
  270. Subject:  8)  Why doesn't double-buffering work via phigs_ws_type_create?
  271. From: rthomson@mesa.dsd.es.com (Rich Thomson)
  272. Date: Sat, 23 Nov 91 20:38:52 GMT
  273. Message-ID: <1991Nov23.203852.3673@dsd.es.com>
  274. References: <1991Nov22.220338.3560@shell.shell.com>
  275. Newsgroups: comp.graphics,comp.windows.x
  276.  
  277. In article <1991Nov22.220338.3560@shell.shell.com>
  278.     senften@taurus (Scott D. Senften) writes:
  279. >
  280. >I need your help...I just got X11R5 up and running on my Sparc and I'm wanting
  281. >to do some PHIGS+ work.  I've got a rough prototype up and running but I can't
  282. >seem to get the double buffering working.  I tried:
  283. >
  284. > wks = phigs_ws_type_create(phigs_ws_type_x_tool,
  285. >                            PHIGS_X_BUF_MODE, PHIGS_BUF_DOUBLE,
  286. >                            0);
  287. >
  288. >but that alone doesn't seem to do it.  Am I missing something?
  289.  
  290. What you're missing is that the PEX-SI provides no support for double
  291. buffering.
  292.  
  293. A serious hole in the PEX-SI is its non-support for double buffering.
  294. Even worse, the PEX-SI api assumes that the client desires an
  295. XClearArea on the window before each frame is drawn.  What really
  296. should have been done was to provide an end-of-render procedure hook,
  297. with the default hook installed to do a clear area.
  298.  
  299. Individual vendors (because of market pressure) have provided their
  300. own solutions to the double buffering problem (we do double buffering
  301. an all PHIGS workstations; if you do immediate-mode you get single
  302. buffering along with the PEX-SI's XClearArea call).
  303.  
  304. I believe the PEX interoperability group is currently working on a vendor
  305. neutral solution that we can all agree on.
  306.  
  307.                         -- Rich
  308.  
  309. -----
  310. Subject:  9)  What does "Kernel not configured with shared-memory IPC" mean?
  311. From: michaelh@homebrew.WV.TEK.COM (Mike Herbert)
  312. Date: 25 Nov 91 18:54:35 GMT
  313. Message-ID: <12065@orca.wv.tek.com>
  314. Newsgroups: comp.windows.x
  315.  
  316. Francis J. Hitchens writes:
  317. > I have just built X11R5 on my VAXstatsion 3100, under ULTRIX 4.1, and
  318. > tried to run the PEX
  319. > tests.
  320. >
  321. > They all failed...
  322. >
  323. > PHIGS error -57 in OPEN PHIGS: Kernel not configured with shared-memory IPC
  324. > facility needed for PEX SI communication
  325.  
  326. I ran into this problem last week.  Here's what I've determined so far.
  327.  
  328. Your PEX library has been built so that it is trying to use the shared-memory
  329. IPC facility to communicate with the phigsmon program.  If your client
  330. does not need phigsmon, then turn it off:
  331.  
  332. setenv PEX_SI_API_NO_PM 1
  333.  
  334. (Typically you should only need phigsmon for doing PHIGS input or client-
  335. side structure storage.)
  336.  
  337. Another alternative is to rebuild the PEX library so that it uses sockets
  338. to communicate with phigsmon.  You can do this by defining 
  339. "PEX_API_SOCKET_IPC".  (I haven't tried this, but the code indicates
  340. that it should work.) 
  341.  
  342. The other alternative, of course, it to configure your kernel to use IPC.
  343. (I'm a novice as far as Ultrix is concerned, so I really don't understand
  344. what's involved in doing that.)
  345.  
  346. Mike Herbert
  347. Tektronix, Inc.
  348. Network Displays Division
  349. P.O. Box 1000, M/S 60-850
  350. Wilsonville, OR 97070
  351. (503) 685-2145
  352.  
  353. michaelh@orca.WV.TEK.COM
  354.  
  355. -----
  356. Subject:  10)  Obtaining Graphics Standards (GKS, PHIGS, etc.)
  357. From: jch@Stardent.COM (Jan "Yon" Hardenbergh)
  358. Date: 12 Feb 91 19:27:53 GMT
  359. Message-ID: <1991Feb12.192753.3647@Stardent.COM>
  360. Newsgroups: comp.graphics
  361.  
  362. GKS - Graphical Kernal System - geometric graphics system
  363. CGM - Computer Graphics Metafile - archive of graphics commands - very
  364.       useful for plotting.
  365. PHIGS - the best graphics standard!  3D geometric graphics with lighting
  366.       and shading and neat primitives to draw fancy pictures.
  367. If you are looking for a broad overview of graphics standards you might
  368. try this:
  369.  
  370. >   Guidelines for determining when to use GKS and when to use PHIGS
  371. >   Bettels, J.; Bono, P.R.; McGinnis, E.; Rix, J.
  372. >   Author Affil:  Digital Equipment Corp., Geneva, Switzerland
  373. >   Source: Comput. Graph. Forum (Netherlands)  vol.7, no.4,    pp.: 347-54
  374. >   Publication Year: Dec. 1988
  375. >   (29 Refs)
  376. >   Abstract:  GKS,  GKS-3D, and PHIGS are all approved ISO standards for the
  377. > application  programmer  interface.  How  do system analysts or programmers
  378. > decide which standard to use for their application? The authors discuss the
  379. > range  of  application  requirements  likely to be encountered, explore the
  380. > suitability  of  GKS and PHIGS for satisfying these requirements, and offer
  381. > guidelines to aid in the decision process. 
  382.  
  383. I know I've seen other overviews of graphics standards. Just none recently.
  384.  
  385. There are a couple of books on CGM and GKS, but I do not have the
  386. references written down.
  387.  
  388. As, for PHIGS, you can get the standard itself from ANSI in New York.
  389. 212-642-4900, 11 West 42nd Street, NY, NY 10036.  [The following table
  390. gives the ANSI standard numbers corresponding to the PHIGS standards:
  391.  
  392.     ANSI X3.144-1988    ISO 9592 parts 1, 2 and 3 for PHIGS
  393.     ANSI X3.144.1        ISO 9593-1 for PHIGS FORTAN binding
  394.     ANSI X3.144.3        ISO 9593-3 for PHIGS Ada binding
  395.     ANSI X3.144.4        ISO 9593-4 for PHIGS C binding
  396.  
  397. --RT]  They will also have the GKS and CGM specs.
  398.  
  399. -Jan "YON" Hardenbergh       jch@stardent.com         (508)-371-9810x261
  400. Stardent Computer, 6 N.E. Tech Center, 521 Virginia Rd,Concord, MA 01742
  401.  
  402. -----
  403. Subject: 11) PHIGS/PEX books
  404. From: jch@adbeta9.prime.com (Jan Hardenbergh )
  405. Date: Fri, 3 Sep 1993 00:31:21 GMT
  406. Summary:  lots of PHIGS and PEX books out there.
  407. Id:  <CCr5G9.28q@cvbnet.CV.COM>
  408.  
  409. I'm perhaps not the best judge, since I have them all (or will soon) and
  410. have a trial membership to the authors club, where we all chum around
  411. together :-)
  412.  
  413. But if your job is actually to work with either PHIGS or PEX, SPEND the
  414. $200+ or so to get many of the books here. It's a tiny investment in
  415. your career, especially if you get reimbursed! If you are the type that
  416. only wants one book on a subject, go to a bookstore and look carefully
  417. at which one you want, after all, you can't judge a book by its email.
  418.  
  419. The books I'd buy again appear in order of appearance.
  420.  
  421. PHIGS Books
  422. ===========
  423.  
  424. Toby Howard et al. "A Practical Introduction to PHIGS and PHIGS PLUS"
  425. Addison-Wesley 1991, ISBN 0-201-41641-7
  426.   A "great" small book on PHIGS.  Covers almost everything, but briefly.
  427.   Not good to program from, but if your question is what is PHIGS, this
  428.   will be the best place to start for most people.
  429.  
  430. Tom Gaskins. "PHIGS Programming Manual", O'Reilly 1992, 
  431.     ISBN 0-937175-92-7 (casebound)  ISBN 0-937175-85-4 (soft)
  432.   This is the most comprehensive and the best to program from for Sun
  433.   and any PEX-SI based PHIGS product. Tom knows this stuff inside and out.
  434.  
  435. Joseph E Kasper and David Arns."Graphics Programming with PHIGS and PHIGS-PLUS"
  436. HP Press/Addison Wesley, ISBN 0-201-56343-6
  437.   A book more oriented to the standard than Gaskins' book, It has
  438.   both FORTRAN and "C" and uses new binding. Especially good for HP.
  439.  
  440. John W. Blake. "PHIGS + PHIGS+, An Introduction to 3D Computer Graphics"
  441. Acedemic Press/Harcourt Brace Jovanovich Ltd. ISBN 0.12.103515.8
  442. (only from 24-28 Oval Road, London, NWI 7DX, UK //  Lbs 29.95 ??)
  443.   I'm buying it, sight unseen...
  444.  
  445. "PHIGS Reference Manual", O'Reilly 1992, Edited by Rich Ellis & ...
  446.  ISBN 0-937175-91-9
  447.   Man Pages (improved version of the PEX-SI man pages)
  448.  
  449. Hopgood & Duce, "A Primer for PHIGS" John Wiley & Sons Ltd,
  450. ISBN: 471 93042 3 (no PHIGS-PLUS)
  451.   Some useful notions on structure editing.
  452.  
  453. W.A. Gaman, W.A. Giovinazzo, "PHIGS by Example", Springer-Verlag,
  454. ISBN 0-387-97555-1
  455.  
  456. PEX Books
  457. =========
  458.  
  459. Tom Gaskins' "PEXlib Programming Manual", O'Reilly 1992, ISBN 0-56592-028-7
  460.   This is a great book.
  461.  
  462. Paula Womack, PEXlib: A Tutorial, Prentice Hall 1993 (printing, due October)
  463. ISBN 013-015843-7.
  464.   Sight unseen. Paula was document editor for PEX 5.1, I'd bet it's great.
  465.  
  466. Mark Graff, PEXlib: A Reference Manual, Prentice Hall, ISBN 013-176066-1, 
  467.   Sight unseen.
  468.  
  469. "PEXlib Reference Manual", O'Reilly 1992,  ISBN 1-56592-029-5
  470.   Man pages for PEXlib SI,  with intro by Tom Gaskins.
  471.  
  472. ...and one more...
  473. Jan Hardenbergh, Building Applications with PEXlib, Prentice Hall, (December)
  474. ISBN 013-012535-0.
  475.   I've seen too much of this to be impartial! I like it. 
  476.  
  477. My conscience is clean (still) about using the internet for commercial gain.
  478. I've been sending out these lists of PHIGS books since before I had even
  479. thought of writing one. But at this point I'll stop because I think it is
  480. a gray area. I hope someone else will take it up. Joe?
  481.  
  482. Opinions expressed are my own, my employer uses HOOPS!
  483. Jan "YON" Hardenbergh     - jch@cvbnet.cv.com -      617-275-1800x3275
  484. Computervision Corp.        MS 5-2, 14 Crosby Drive, Bedford, MA 01730
  485. "Imagination is more important than knowledge" A. Einstein - Thank God!
  486. -----
  487.  
  488. Subject: 12) Articles on PEX
  489. From: klee@wsl.dec.com (Ken Lee)
  490. Date: 12 Aug 91 17:06:05 GMT
  491. References: <1991Aug12.100605@wsl.dec.com>
  492.  
  493. Clifford, William, John McConnell, and Jeffrey Friedberg, "The Development
  494.      of PEX, A Three-dimensional Graphics Extension to X11," in Proceedings
  495.      of Eurographics'88, September, 1988.  An overview PEX, an extension to
  496.      the X protocol to support PHIGS+.
  497.  
  498. Rost, Randi, Jeffrey Friedberg, and Peter Nishimoto, "PEX:  A Network-
  499.      Transparent 3D Graphics System," IEEE Computer Graphics & Applica-
  500.      tions, pp. 14-26, July, 1989.  A good overview of PEX, the
  501.      PHIGS/PHIGS+ 3D extension to X. A complete PEX is currently being
  502.      developed by Sun under contract to the MIT X Consortium and is
  503.      scheduled to be publicly available in 1991.
  504.  
  505. Stroyan, Michael, "Three-Dimensional Graphics Using the X Window System,"
  506.      Dr. Dobb's Journal, vol. 15, no. 2, pp. 28-36, February, 1990.  A high
  507.      level description of various approaches to developing 3D graphics
  508.      tools for X, including those of the PHIGS Extension to X (PEX) and
  509.      HP's Starbase-on-X11 (sox11).
  510.  
  511. Sung, Hsien Ching Kelvin, Greg Rogers, and William Kubitz, "A Critical
  512.      Evaluation of PEX," IEEE Computer Graphics & Applications, vol. 10,
  513.      no. 6, pp. 65-75, November, 1990.  An evaluation of PEX, the X exten-
  514.      sion to support PHIGS, from the point of view of a PHIGS implementor.
  515.  
  516. Thomas, Spencer W. and Martin Friedmann, "PEX - A 3-D Extension to X Win-
  517.      dows," in Proceedings of the Winter, 1989 USENIX Conference, pp. 139-
  518.      149.  Describes a demonstration implementation of PEX, the
  519.      PHIGS/PHIGS+ 3D extension to X. A complete PEX is currently being
  520.      developed by Sun under contract to the MIT X Consortium and is
  521.      scheduled to be publically available in 1991.
  522.  
  523. -----
  524. Subject: 13)  PEX Application Programmer Interfaces (APIs)
  525. From: rthomson@dsd.es.com (Rich Thomson)
  526. Date: Tue Mar  2 22:27:37 MST 1993
  527.  
  528. When discussing PEX, it is important not to confuse the protocol with
  529. the API, or application programmer interface.  The API is the
  530. conceptual model of 3D graphics that the application developer sees.
  531. The protocol is generated by the API and is interpreted by the server
  532. to perform graphics requests on behalf of the client program.
  533.  
  534. One API provided with the R5 PEX-SI is a PHIGS/PHIGS-PLUS API.  The
  535. PHIGS/PHIGS-PLUS standards are specified in two parts.  First, a
  536. functional description describes each operation conceptually, in a
  537. language-independent manner.  Second, language bindings are used to
  538. bind the particular PHIGS functions to the semantics of the language.
  539. The PEX-SI comes with an application programmer interface that
  540. conforms with the latest revision of the PHIGS/PHIGS-PLUS C language
  541. binding.
  542.  
  543. Bob Schulte of SHOGraphics had this to say about their GL-like API
  544. called PEXtk:
  545.  
  546.     Newsgroups: comp.windows.x.pex
  547.     From: rws@shograf.com (Bob Schulte)
  548.     Subject: Re: difference between PEX and GL
  549.     Date: Fri, 5 Feb 1993 16:03:42 GMT
  550.  
  551.     PEXtk is complete and available now directly from export.mit.lcs.edu,
  552.     and is located in /contrib. The files are pextk.PS.tar.Z, pextk.README,
  553.     and pextk.tar.Z.  It is Free.
  554.  
  555.     Depending on how you write a GL program and what features you use
  556.     it may or may not be difficult to port to PEXtk. It would certainly
  557.     be easier than porting to PHIGS.
  558.  
  559.     For example PEXtk uses X as its windowing system, so the UI is X
  560.     based. We have not attempted to duplicate any GL windowing functions.
  561.  
  562.     Bob
  563.     --
  564.     Bob Schulte,        E-Mail: rws@shograf.com    Voice: (408) 524-4015
  565.     SHOgraphics.        Performance Through PEX
  566.  
  567.  
  568. If your version of R5 is patched through patch #22, you have a second
  569. MIT supplied API called "PEXlib".  PEXlib is to the PEX protocol what
  570. Xlib is to the core X protocol.  PEXlib provides an interface that is
  571. as close as possible to a one-to-one correspondence between functions
  572. and protocol requests.  It is intended to be a systems programming
  573. interface (i.e. people developing graphics toolkits and graphics
  574. systems will implement their system on top of PEXlib).  It is proposed
  575. that the PHIGS API be ported to PEXlib once PEXlib is finalized.  This
  576. change would not affect programs written to the existing PHIGS API.
  577. However, since PEXlib is intimately tied to the protocol, it is
  578. expected that there will be changes between the current PEXlib (which
  579. supports version 5.0 and 5.1 of the PEX protocol) and the PEXlib that
  580. supports the next major version of the PEX protocol, version 6.0.
  581. Naturally, every attempt will be made to make the changes to the API
  582. minimal.  The nature of the changes from 5.1 to 6.0 are not such that
  583. every primitive will be affected; rather the changes deal with the
  584. sticky problems of subsets, multi-buffering, and other issues of
  585. global rendering semantics.
  586.  
  587. The future may contain other popular graphics APIs (SGI's GL, HP's
  588. Starbase, Stardent's Dore') that also generate the PEX protocol.
  589.  
  590.                         -- Rich
  591. -----
  592. Subject: 14)  PHIGS Toolkit -- a portable toolkit for PHIGS programmers
  593. From: Gareth Williams <williamj@computer-science.manchester.ac.uk>
  594. Date: Mon, 8 Feb 93 08:56:20 GMT
  595. Message-Id: <9302080856.AA04031@r3i.cs.man.ac.uk>
  596.  
  597.                      THE PHIGS TOOLKIT
  598.  
  599.      A PORTABLE TOOLKIT FOR PHIGS APPLICATION PROGRAMMERS
  600.  
  601.             *************************************
  602.             **** NEW RELEASE VERSION 3.2 FOR ****
  603.             ****       SunPHIGS 2.0          ****
  604.             ****       HP PHIGS 2.2          ****
  605.             **** ##    IBM graPHIGS 1.02  ## ****
  606.             ****         PEX-SI              ****
  607.             *************************************
  608.  
  609. We are pleased to announce the availability of version 3.2 of the PHIGS
  610. Toolkit, a portable toolkit for PHIGS application Programmers. The PHIGS
  611. Toolkit has been developed at the University of Manchester, UK, and is
  612. funded by the Science and Engineering Research Council (SERC) and the
  613. Advisory Group on Computer Graphics (AGOCG). The Toolkit is based on the
  614. experience of the developers who have been active PHIGS programmers for
  615. several years and were also involved in the ISO technical review of PHIGS
  616. and PHIGS PLUS.
  617.  
  618. Following the release in September this year of version 3.1 of the PHIGS
  619. Toolkit, version 3.2 is now available which supports SunPHIGS 2.0,
  620. HP PHIGS 2.2, IBM graPHIGS 1.02 and MIT's PEX-SI.
  621.  
  622. MAIN FEATURES OF THE TOOLKIT
  623. ----------------------------
  624.  
  625.  o comprehensive transformations library
  626.  o automatic drawing of structure network hierarchy diagrams
  627.  o automatic drawing of structure content diagrams
  628.  o interactive CSS debugger
  629.  o interactive view editor
  630.  o window system implemented using PHIGS structures
  631.  o interactive PHIGS Interpreter
  632.  o comprehensive colour model support library
  633.  o menu system to extend PHIGS input
  634.  
  635.  o Runs with C and FORTRAN for SunPHIGS on SunOS
  636.  o Runs with C for HP PHIGS on HP-UX
  637.  o Runs with C for graPHIGS on AIX
  638.  o Runs with C for PEX-SI on SunOS
  639.  o Runs with C and FORTRAN for DEC PHIGS on VAX/VMS (PTK 2.0 only)
  640.  
  641.  o full source code provided
  642.  o demonstration programs provided
  643.  o comprehensive documentation
  644.  
  645. WHAT IS THE PHIGS TOOLKIT?
  646. --------------------------
  647.  
  648. The purpose of the PHIGS Toolkit is to help application programmers to
  649. program more effectively and securely using PHIGS. The functionality
  650. provided by PHIGS is low-level, and the PHIGS Toolkit provides a number of
  651. tools of various levels of complexity in order to make programming with
  652. PHIGS quicker, and less painful.  To the programmer, it is as if the
  653. functions provided by PHIGS have been supplemented with a set of additional
  654. functions, and a typical application will use both `raw' PHIGS functions as
  655. well as PHIGS Toolkit functions.  A convenient way to view the Toolkit is
  656. as a layer of software which sits `on top of' PHIGS.
  657.  
  658. Tools in the PHIGS Toolkit are divided into two categories: PROGRAMMING
  659. TOOLS, and HIGH-LEVEL TOOLS.  Programming tools are generally quite simple
  660. single-purpose procedures, and are designed to help applications
  661. programmers to construct PHIGS programs more quickly and reliably. The
  662. high-level tools are more powerful, and provide programmers with means for
  663. visualising and debugging structure networks.
  664.  
  665. PROGRAMMING TOOLS
  666. -----------------
  667.  
  668.  o the Transformations Library -- functions for
  669.    constructing and manipulating coordinate transformations.
  670.  
  671.  o the HashStrings Library -- functions which enable text
  672.    strings to be used in situations where integers would normally
  673.    be required.
  674.  
  675.  o the PHIGS Utilities Library -- utility functions,
  676.    providing operations (such as `copy element') which are not directly
  677.    provided by PHIGS, as well as common sequences of PHIGS function calls
  678.    `bundled up' into single functions.
  679.  
  680.  o the PHIGS Traversal State List Library -- functions for
  681.    controlling and inquiring a simulated structure network traversal.
  682.  
  683.  o the Colour Library -- functions for defining colour
  684.    values using English words and phrases, and for interchangeably
  685.    manipulating colours using various colour models.
  686.  
  687.  o the PHIGS Textual Interpreter (Phinter) -- a tool for reading textual
  688.    PHIGS scripts. Phinter may be used interactively with a PHIGS string device
  689.    or standard input.
  690.  
  691. HIGH-LEVEL TOOLS
  692. ----------------
  693.  
  694.  o the PHIGS Structure Content Drawer -- a tool to generate diagrams
  695.    showing which elements structures contain.  The diagrams are themselves
  696.    PHIGS structures, with a documented format.
  697.  
  698.  o the PHIGS Topology Library -- functions for
  699.    automatically generating diagrams representing the topology of PHIGS
  700.    structure networks. The diagrams are themselves PHIGS structures, with a
  701.    documented format.
  702.  
  703.  o the PHIGS Menus Library -- functions for constructing
  704.    and manipulating menus built using PHIGS structures.
  705.  
  706.  o the PHIGS Windows Library -- functions for displaying
  707.    and viewing PHIGS structure networks in windows.
  708.  
  709.  o the PHIGS Debugger -- a tool (modelled after conventional
  710.    programming language debuggers) for simulating the traversal of structure
  711.    networks. The traversal may be stepped through incrementally and the state
  712.    of the traversal inquired at any stage.
  713.  
  714.  o the PHIGS View Editor -- a utility for interactively editing and
  715.    experimenting with viewing parameters for a scene.
  716.  
  717. PHIGS TOOLKIT INFORMATION   ** REGISTER NOW **
  718. ----------------------------------------------
  719.  
  720. We would like to encourage all people interested in the PHIGS Toolkit to
  721. register as PHIGS Toolkit users. This will ensure that all PHIGS Toolkit
  722. users will receive notice of new versions, course dates, bug reports and
  723. any other useful information.  Please send the following information to
  724. phigstoolkit@cs.man.ac.uk.
  725.  
  726.    Name:
  727.    Organisation:
  728.    email:
  729.    Telephone/FAX:
  730.    PHIGS implementations used:
  731.  
  732. Even if the PHIGS Toolkit is not currently available for your particular
  733. PHIGS implementation, please register. We are currently working on ports to
  734. several other PHIGS implementations and it would be very useful to know
  735. what the demand is for different versions.
  736.  
  737. HOW TO OBTAIN THE PHIGS TOOLKIT
  738. -------------------------------
  739.  
  740. The PHIGS Toolkit is available from two sites in the UK:
  741.  
  742. PTK from Kent
  743. -------------
  744.  
  745. The PHIGS Toolkit is available from HENSA (Higher Education National 
  746. Software Archive) at the University of Kent.
  747.  
  748. The HENSA Service at the University of Kent can be accessed in a number 
  749. of ways:
  750.  
  751. Interactive
  752. -----------
  753.  
  754. There is a friendly interactive interface which has a useful find
  755. utility for locating software.  Connect to unix.hensa.ac.uk and log
  756. in as "archive" for an interactive interface to the HENSA archive.  
  757. Connections can be made using telnet (unix.hensa.ac.uk) and X.29 
  758. across JANET (uk.ac.hensa.unix, DTE 000049200900).
  759.  
  760. anonymous ftp
  761. -------------
  762.  
  763. Using DARPA FTP connect to the machine unix.hensa.ac.uk and
  764. login as "anonymous", giving your email address as the password.
  765.  
  766. guest NI-FTP]
  767. Using Blue Book NI-FTP with the following:
  768.  
  769. address: uk.ac.hensa.unix
  770. login: guest
  771. path: <ARCHIVE>/filename
  772.  
  773. eg.     % fcp -b "<ARCHIVE>/uunet/ls-lR.Z"@uk.ac.hensa.unix ls-lR.Z
  774. User name on uk.ac.hensa.unix? guest
  775. Password on uk.ac.hensa.unix? jn@ukc.ac.uk
  776.  
  777. email server
  778. ------------
  779.  
  780. Send a message to "archive@unix.hensa.ac.uk" containing the 
  781. string "help" for details on how to use it.
  782.  
  783. Any general queries regarding the HENSA service at The University of
  784. Kent should be directed to hensa@unix.hensa.ac.uk, queries specific to
  785. the Netlib service should be sent to netlib-admin@unix.hensa.ac.uk and
  786. stuff concerning the source archive to archive-admin@unix.hensa.ac.uk.
  787.  
  788. The relevant files for the PHIGS Toolkit on HENSA are:
  789.  
  790. PTK 3.2     /misc/unix/phigstk/PhigsToolkit3.2.tar.Z 
  791.                                       for SunPHIGS 2.0 on SunOS, 
  792.                                           HP PHIGS 2.2 on HP-UX,
  793.                                           graPHIGS 1.02 on AIX,
  794.                                           PEX-SI on SunOS.
  795.  
  796. PTK 2.0    /misc/unix/phigstk/PhigsToolkit.tar.Z 
  797.                                       for SunPHIGS 1.x on SunOS.
  798.            /misc/vms/phigstk/ptk.hex for DEC PHIGS 2.3A on VAX/VMS.
  799.  
  800. PTK from Manchester
  801. -------------------
  802.  
  803.   By anonymous ftp from uk.ac.mcc.hpb. (130.88.200.7) 
  804.   Username "anonymous", and your network address as password.
  805.   The files are:
  806.  
  807. PTK 3.2     pub/cgu/ptk/ptk3.2.tar.Z for SunPHIGS 2.0 on SunOS, 
  808.                                   HP PHIGS 2.2 on HP-UX,
  809.                                   graPHIGS 1.02 on AIX,
  810.                                   PEX-SI on SunOS.
  811.  
  812. PTK 2.0     pub/cgu/ptk/ptk.tar.Z for SunPHIGS 1.x on SunOS.
  813.  
  814.             pub/cgu/ptk/ptk.shar* for DEC PHIGS 2.3A on VMS.
  815.  
  816. (
  817. For VMS the Toolkit is stored as a collection of SHAR files.
  818. There are 288 files in total, each 15K in size.
  819. They are called ptk.shar_X where X is 1 ... 288.
  820. To rebuild the Toolkit directory structure the
  821. files must be concatenated together and run as a command file.
  822.  
  823.    $ copy ptk.shar_%, ptk.shar_%%, ptk.shar_%%% ptk.shar
  824.    $ @ptk.shar
  825. )
  826.  
  827. PTK by Magnetic Tape
  828. --------------------
  829.  
  830. Send a 1/4 inch cartridge for SunOS, and a 1/2 inch open reel magnetic tape
  831. for VMS to:
  832.  
  833. Tim Hopkins
  834. Computing Laboratory
  835. University of Kent
  836. email: trh@uk.ac.ukc
  837.  
  838. or
  839.  
  840. Toby Howard
  841. Department of Computer Science
  842. University of Manchester
  843. Oxford Road
  844. Manchester M13 9PL
  845. United Kingom
  846. Tel: +44 61 275 6274
  847. Fax: +44 61 275 6236
  848. email: toby@uk.ac.man.cs
  849.  
  850. PHIGS TOOLKIT TRAINING COURSE
  851. -----------------------------
  852.  
  853. A training course for users of the PHIGS Toolkit was held at the
  854. University of Manchester on September 23rd 1992. Course materials
  855. including four programming exercises and three step-through
  856. tutorials are provided in this release of the Toolkit.
  857.  
  858. FUTURE WORK
  859. -----------
  860.  
  861. The first phase of the PHIGS Toolkit does not include support for PHIGS
  862. PLUS. Work is now underway to expand the Toolkit to include extensive
  863. support for PHIGS PLUS functions, and the expanded PHIGS Toolkit will be
  864. released in April 1993. 
  865.  
  866. A toolkit providing support for NURBS curves and surfaces has also
  867. been developed at Manchester, and is designed to be complementary to 
  868. the PHIGS Toolkit. It is available from the same sites as PTK.
  869.  
  870. BETA TEST
  871. ---------
  872.  
  873. We are currently looking for beta testers for the PHIGS PLUS extensions 
  874. and the test will start in the new year and finish at the end of February 
  875. 1993. A short report will be required from testers. Please get in touch 
  876. if you are interested in being a tester.
  877.  
  878. Toby Howard, Terry Hewitt, Gareth Williams, Steve Larkin, David Yip
  879. University of Manchester
  880. Oxford Road, Manchester, M13 9PL, United Kingdom
  881. -- 
  882.          Between stimulus and response is the will to choose.
  883.   ------------------------------------------------------------------
  884.          IRC: _Rich_                            Rich Thomson
  885.         Internet: rthomson@dsd.es.com           Fractal Freak
  886.