🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.windows.x.pex
Article #111

Re: Future development of PEX/PHIGS

#111
From: Kurt Akeley
Date: Wed, 19 Aug 1992 16:05
49 lines
3044 bytes
-- 

In article <1992Aug18.182730.3478@dsd.es.com>, rthomson@mesa.dsd.es.com (Rich Thomson) writes:
|>
|> ...
|>
|> Under OpenGL, the same reformatting happens; you merely get what
|> language designers call "syntactic sugar" so that you can provide the
|> data in any datatype you wish.  However, at the core of all graphics
|> rendering today (at least the PEX/OpenGL type) is a graphics pipeline.
|> Data goes in one side and pixels come out the other (I'm
|> oversimplifying).  This pipeline is going to have its own natural data
|> format for the data that is the most efficient for its algorithms.
|> Your data will be reformatted to this internal representation.

Not so, at least on high-end machines.  Silicon Graphics machines such as
the GT, GTX, VGX, VGXT, and RealityEngine all have pipelines that accept
data in arbitrary formats and do the conversion with no performance loss.
To call this "syntactic sugar" is to call all of the pipeline operations,
such as matrix multiplication and texture mapping, syntactic sugar.  After
all, any of these operations can be performed by the CPU at reduced
performance.

The OpenGL X protocol allows servers to implement data conversion by
including separate tokens for all data types.  Thus, for example, the 24
OpenGL vertex commands (e.g. glVertex2i, glVertex3f, and glVertex4d)
all have their own tokens in the protocol.

|> >In PHIGS and PEXlib, data reformating is almost essential, it is ubiquitous.
|> 
|> PEXlib is not intended to be an API, but an SPI.  If you want the
|> same syntactic sugar that is provided in OpenGL, you can write a
|> toolkit on top of PEXlib that does this reformatting for you.

And you will pay the resulting performance penalties.  Performance is
maximized when low-level operations that can be performed by the graphics
pipeline ARE performed by the graphics pipeline.  When these capabilities
are not supported by the low-level protocol, toolkits cannot patch things
up without performance loss.

|> If possible, I recommend you get a PEX server from your workstation
|> vendor instead of the PEX-SI.  The SI is, after all, a Sample
|> Implementation, and can't be expected to run blazingly fast or provide a
|> gigantic feature set.

I guess I wouldn't consider the OpenGL feature set to be gigantic, but it is
large, and the OpenGL sample implementation includes all of it.

-- Kurt Akeley	    kurt@sgi.com  (415) 390-3612  M/S 7U-550
Technical Details
Message-ID: <op6up5g@fido.asd.sgi.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!pacbell.com!mips!odin!fido!cashew.asd.sgi.com!kurt
References: <1992Aug13.221534.29469@noose.ecn.purdue.edu> <1992Aug14.172943.22563@dsd.es.com> <1992Aug14.210903.23864@noose.ecn.purdue.edu> <1992Aug18.182730.3478@dsd.es.com>

Show Full Headers
Complete Article Headers
Newsgroups: comp.windows.x.pex
Path: arc1-ca.pugleaf.net!sparky!uunet!charon.amdahl.com!pacbell.com!mips!odin!fido!cashew.asd.sgi.com!kurt
From: kurt@cashew.asd.sgi.com (Kurt Akeley)
Subject: Re: Future development of PEX/PHIGS
Message-ID: <op6up5g@fido.asd.sgi.com>
Sender: news@fido.asd.sgi.com (Usenet News Admin)
Organization: Silicon Graphics, Inc.
References: <1992Aug13.221534.29469@noose.ecn.purdue.edu> <1992Aug14.172943.22563@dsd.es.com> <1992Aug14.210903.23864@noose.ecn.purdue.edu> <1992Aug18.182730.3478@dsd.es.com>
Date: Wed, 19 Aug 1992 16:05:06 GMT
Lines: 49