Plan 9 bitmap graphics
The overall style of Plan 9's graphics has its ancestry in the software for the Bell Labs' Blit terminal [1], although the implementation is quite different.
%T Hardware/software trade-offs for bitmap graphics on the Blit %X The Blit is an experimental bitmap graphics terminal built for research into interactive computer graphics on the UNIX time-sharing system. The hardware is inexpensive and the graphics functions are implemented entirely in software. Nevertheless, the graphics performance of the Blit is comparable or superior to some displays with special-purpose graphics hardware. This paper explains the paradox by referring to some principles of design: the hardware and software should be designed together to complement each other; carefully designed software can outperform infelicitous hardware; and simplicity of design leads to efficiency of execution. These principles are illustrated by examples from the Bit hardware and software and comparisons with other systems %K compiling on the fly, Blit, bitmap graphics terminal, interactive computer graphics, UNIX time-sharing system, infelicitous hardware %O Softw. - Pract. Exp. (UK) %J Software - Practice and Experience %A Pike, R. %A Locanthi, B. %A Reiser, J. %V 15 %N 2 %P 131-51 %D Feb. 1985%T Graphics in overlapping bitmap layers %X One of the common uses of bitmap terminals is storing multiple programming contexts in multiple, possibly overlapping, areas of the screen called windows. Windows traditionally store the visible state of a programming environment, such as an editor or debugger, while the user works with some other program. This model of interaction is attractive for one-process systems, but to make full use of a multiprogramming environment, windows must be asynchronously updated, even when partially or wholly obscured by other windows. For example, a long compilation may run in one window, displaying messages as appropriate, while the user edits a file in another window. The author describes a set of low-level graphics primitives to manipulate overlapping asynchronous windows, called layers, on a bitmap display terminal. Unlike previous window software, these primitives extend the domain of the general bitmap operator bitblt to include bitmaps that are partially or wholly obscured %K graphics, overlapping, bitmap layers, bitmap terminals, multiple programming, screen, windows, multiprogramming, low-level graphics, asynchronous windows %O Comput. Graph. (USA) %J Computer Graphics %O SIGGRAPH '83 %A Pike, R. %V 17 %N 3 %P 331-56 %D 1983
%T Graphics in overlapping bitmap layers %X Describes a set of low-level graphics primitives to manipulate overlapping asynchronous windows, called layers, on a bitmap display terminal. Unlike previous window software, these primitives extend the domain of the general bitmap operator bitblt to include bitmaps that are partially or wholly obscured %K bitmap layers, low-level graphics primitives, overlapping asynchronous windows, bitblt %O ACM Trans. Graph. (USA) %J ACM Transactions on Graphics %A Pike, R. %V 2 %N 2 %P 135-60 %D April 1983
%T Fast bitblt() with asm() and cpp %A B. N. Locanthi %J European UNIX Systems User Group Autumn Conference %C Trinity College, Dublin, Eire %D September 1987 %P 243-259 %K Bitmap graphics Autumn87