jon@cit-vax.Caltech.Edu (Jonathan P. Leech) (05/02/86)
Summary: Expires: Sender: Followup-To: Organization : California Institute of Technology Keywords: We are starting to accumulate a wide variety of graphics devices (Sun, HP Bobcat, Symbolics, Rastertech, plotters, printers, etc) and are interested in a common low-level graphics library. The CGI spec appears ideal, since both HP and Sun support at least parts of it, but upon reading the manuals I find completely different C bindings. My questions: 1) Is the CGI definition indeed standardized, or still undergoing revision? 2) Is the lack of a common C binding due to i) stupidity on HP's part ii) stupidity on Sun's part iii) both iv) C standard doesn't exist so there cannot be a standardized language binding v) CGI is not yet a standard vi) CGI is a purely functonal description, there are no language bindings vii) ??? 3) Does anyone make CGI drivers for Rastertechs, Imagens, and other such graphics peripherals? If so, who are they? Are they available with source? (Not interested otherwise, we have too many machines to port software to). Any informative answers will be appreciated, but please don't bother to post unless you have HARD information. As is obvious from the above I can speculate as well as anyone else. Thanks, -- Jon Leech (jon@csvax.caltech.edu || ...seismo!cit-vax!jon) Caltech Computer Science Graphics Group __@/
greg@vecpyr.UUCP (Greg Millar) (05/04/86)
CGI/VDI is not a finalized standard yet. I have seen a proposed C binding but it is only proposed. The real problem though is that CGI/VDI, GKS and any other graphics standard like these does not address the issue of device independence. There is no such thing as a CGI standard device driver, or a GKS device driver. It is totally up to the implementor of CGI, GKS, etc to determine how devices are handled. We have approached the problem differently with graphcap. Once you have our GKS (with our vdi) and you want to add a new device driver, all you have to do is add a new graphcap entry (sort of like a termcap entry) and now your applications can use this new device. You don't need the source to the GKS or VDI since you get the graphcap database in its source form so you can change the device at will. This seems to be the right approach to device independence, since none of the currently proposed graphics standards really address the issue. All the do is provide a standard programmer interface to the functions of GKS, etc, not a standard device interface. Greg Millar ...{ucbvax,decwrl}!dual!vecpyr!greg Visual Engineering, Inc. 2680 N. First San Jose, CA 95134 (408) 945-9055
miner@ulowell.UUCP (Richard Miner) (05/06/86)
In article <277@vecpyr.UUCP> greg@vecpyr.UUCP (Greg Millar) writes: > >CGI/VDI is not a finalized standard yet. This is correct, there is a currently only one aproved ANSI graphics standard, that is GKS. Next to follow will be the standard for the Computer Graphics MetaFile CGM in Jan-87, I think Phigs and then CGI. This is according to informations I received from Peter Bono the ANSI X3H3 Chairman. CGI is only in the draft proposal stage now. > >our GKS (with our vdi) and you want to add a new device driver, all you >have to do is add a new graphcap entry (sort of like a termcap entry) This sounds like it will work nice for devices that you can just send ESC sequences or that have ASCII stream bindings, but what about parallel devices, or devices that have there own graphics libraries? The solution to the problem of being able to create your own device drivers is to have a GKS and or VDI/CGI WITH SOURCE! We needed to have a GKS running on many systems with easy to modify device drivers. No one could supply us with one so we engineered our own. We will distribute to non-profit organizations with source at a minimal price to cover cost of distribution and the few students keeping the code up to date. Profit organizations must pay a little more. Please no flames about being commercial, with the cost of most GKS packages and give the fact we give source; this is more like charity. UUCP: !wanginst!ulowell!miner Rich Miner ARPA: miner@ulowell.CSNET University of Lowell, Comp Sci Dept TALK: (617) 452-5000 x2693 Lowell MA 01854 USA Home of a cheap portable 2b/2c GKS w/source -
andrea@hp-sdd.UUCP (05/08/86)
[feed the paisley horsey some sugar cubes...] I'm the [ISO WG2/ANSC X3H3] CGI Document Editor, so this information is about as hard as you can get: CGI is now up to "Working Draft" stage in the official milestones, with a new improved version coming out later this month; we expect it to be registered as a Draft Proposed International Standard this fall. From there, it gets one or two rounds of technical balloting worldwide (plus a U.S. public review), and should be a real, blessed, official ISO and ANSI standard in (are you sitting down?) late 1988 to mid 1989. Of course, we are all anxiously hoping for (and working hard towards) getting it to converge on major points, so we can implement an "almost standard" version long in advance of that. As you've noticed, several companies (including ours) have implemented something "like" CGI, "based on" CGI, "in the spirit of" CGI (you get the picture). I honestly don't know when it will be "solid enough" - that's a decision each company, product group, or project makes on their own. As far as bindings go, and C bindings in particular: we deliberately put all binding work on the shelf for a while, so we could get somewhere on the substantive technical issues and nail the functionality. Meanwhile, the work that the Language Bindings group has done for the C binding of GKS will carry over - there is a "Generic Language Binding Issues" log, a "C Language Binding Issues Log", an approved abbreviations list (with algorithm for generating names), and the example of the C GKS binding. Once the work begins on the C binding of CGI, it should be straightforward and go fairly quickly. There was a "strawman" C binding submitted a year or two ago, but it has no standing. I expect that some interested parties on X3H33 (particularly Sun and System One) may generate a draft C binding from the CGI Working Draft this summer if there is interest, as the CGI is now far enough along to consider one again. You are right in guessing that the non-standard status of C is holding up having an official C binding of anything - there is alot of tracking back and forth between the J committee (C language) and X3H3 to ensure that the GKS C binding doesn't come out before the C standard, but that it comes out as soon as possible afterwards (and not in conflict with it!). There is a ratified principle that the X language binding of graphics standard Y cannot precede either the X standard or the Y functional standard (we can be sensible at times, if we try). So...any company producing a "CGI-like" product has to invent their own C binding (for now). Not a matter of stupidity, but one of necessity. Once there IS a standard C binding of a standard CGI, then each company will have to evaluate whether to overhaul their product, build a standard shell on top of it, or whatever. Meanwhile, if anyone is about to create yet another C binding of yet another "CGI-like" product, I hope they'll look at the CGI Working Draft and the C GKS Binding for guidance. Hope this helps! Andrea Frankel, Hewlett-Packard (San Diego Division) (619) 592-4664 ...searchlights casting for faults in the clouds of delusion ______________________________________________________________________________ UUCP : {hplabs|hp-pcd|hpfcla|hpda|noscvax|gould9|sdcsvax}!hp-sdd!andrea UUCP : {ihnp4|cbosgd|allegra|decvax|gatech|sun|tektronix}!hplabs!hp-sdd!andrea ARPA : hp-sdd!andrea@nosc.arpa CSNET : hp-sdd!andrea@hplabs.csnet USnail: 16399 W. Bernardo Drive, San Diego CA 92127-1899 USA
greg@vecpyr.UUCP (Greg Millar) (05/11/86)
miner@ulowell.UUCP (Richard Miner) wrote in response to my posting... Greg then: >>our GKS (with our vdi) and you want to add a new device driver, all you >>have to do is add a new graphcap entry (sort of like a termcap entry) Richard: >This sounds like it will work nice for devices that you can just send >ESC sequences or that have ASCII stream bindings, but what about parallel >devices, or devices that have there [SIC] own graphics library? >... the solution is to have a GKS or VDI/CGI WITH SOURCE! Greg now: Not true. Many users can not afford source licences for COMMERCIAL, SUPPORTED, DOCUMENTED, ETC software. Not only that, users of applications using a GKS most likely will not have source and may not even have a library to relink to. Here are some good reasons to do it this way: - No source needed (the GraphCap file is the driver source) - No libraries needed to add new drivers to applications - No need to re-port driver code from system to system - No need to relink all of the applications (on all of the systems you are supporting) using graphics, everytime a new device is added to the library - You may have any number of devices available to your applications at ANY time without your application getting bigger and bigger. (Consider just 20 device drivers on line at 10-20Kb each = 200-400kb extra code to haul around) - You may want several instances of a particular device driver on line. For example (Imagen portrait, Imagen landscape, Imagen 240 dpi, Imagen 300 dpi, Imagen Black & White, Imagen Gray scale, and all combinations!) With coded device drivers this usually means that many seperate device drivers to link in, with GraphCap it means just changes a couple of fields and referencing a parent entry, like termcap's "tc=". - Don't need to know C or FORTRAN or whatever - Very fast device support turnaround and debugging (make the entry and run) - etc, etc, etc GraphCap does indeed support parallel devices, and devices that have library interfaces (like most workstations). A full explanation was not given in the original posting because (1) GraphCap is a large and complicated software system that would take a very large article to fully describe its functionality and use, (2) it was not intended to be an advertisement. If any of you would like more information from a source that has all of the particulars, please respond to Greg Millar ...{ucbvax,decwrl}!dual!vecpyr!greg Visual Engineering, Inc. 2680 N. First San Jose, CA 95134 (408) 945-9055