Contents
- Introduction
- Inferno News
- Plan 9 News
- Company News
Dear all,
The last few months have seen significant progress being made
both technically and commercially with Inferno. On the technical
side we have already released an iPAQ port, grafitti style character
input and are close to releasing a new version of Inferno that
provides a new graphics model including support of 16 and 24 bit
colour.
We hope in the New Year to complete The Inferno Programming book
that was begun some time ago by Bell Labs. This text will provide
'would be' Inferno programmers with an introduction into how to
create distributed applications under Inferno and will be a useful
reference for the experienced Inferno developer. If anyone would be
interested in
reviewing this book, please contact Karen Russell.
On the business side, we have recently signed an agreement with
Nippon Techno Lab (NTL) in Tokyo who will provide distribution,
support and training for Inferno in Japan. We hope this will be the
first of many similar parternships to be developed during 2002.
We continue to expand out commercial team with the appointment of Frank Thomas as a Business
Development Director. Frank has many years experience in
embedded devices and can be reached at
frank@vitanuova.com.
Our next trade show appearance will be at LinuxWorld in January in
New York. We hope to see some of you there; anyone requiring
a free pass can contact karen@vitanuova.com.
Wishing you all health and happiness for the New Year.
Michael Jeffrey
CEO
Vita Nuova Holdings Limited
The current Inferno graphics implementation provides pixels
of size 1, 2, 4 and 8 bits.
It uses a fixed colour map on 8-bit devices, described by
rgbv (6).
On devices or systems with more than 8 bits per pixel,
Inferno images are limited to 8 bits per pixel and pixels are mapped
to the screen depth through that colour map.
This was a reasonable compromise when most native Inferno target devices
had limited colour, but in hosted mode it has long been more troublesome,
when even modest PCs had 16-bit colour or better.
Now that handheld devices often
boast better-than-8 colour resolution, it is now a significant constraint.
In an experimental version of the system, we have replaced the
original Inferno graphics subsystem by one derived from Plan 9, with
good results so far.
Relatively few changes need to be made to the source code of
applications that do not need the new capabilities.
Display.newimage
now takes a description of the colour channel(s) of the required Image,
instead of the
ldepth
parameter (log of the image depth).
That allows construction of bitmaps, grey scale, and
8-bit images using
rgbv (6),
but also a general range of images with other pixel constructions.
Typically, replacing
display.image.ldepth
by
display.image.chans
converts a program to use the screen depth.
Even more important, one of the possible channels
of an Image is
alpha,
which specifies the degree of opacity of the other
channels in each pixel.
The graphics operators are redefined as based on Porter-Duff compositing algebra
(originally described in
``Compositing Digital Images'', by Thomas Porter and Tom Duff,
Computer Graphics, Vol 18, No 3, July 1984, pp. 253-259).
For example, the
Image.draw
operator previously replaced
the destination pixels by the source pixels within the mask
(ie, where the mask image had non-zero pixels).
Now,
Image.draw
combines the source and destination using the
alpha channel of the mask.
If the mask has no alpha channel, one is derived from the pixel values,
causing the masks used by most existing applications to work correctly
without change
(there are a few exceptions).
New applications can, however, achieve more subtle effects.
As Alvy Ray Smith points out, the provision of alpha channels allows images
to be thought of as
shaped
``an image is a shaped array of pixels with partial transparencies ...
transparent pixels simply do not conceptually exist''
(`Image Compositing Fundamentals', Technical Memo 4, Alvy Ray Smith, 1995).
When the initial work on the graphics subsystem is complete,
and ported to all platforms,
we intend to make the experimental version of Inferno available
to subscribers, well before its full release, in parallel with
furher updates to the existing edition.
Other changes are planned or in progress elsewhere in
the experimental system, and those will be mentioned in
future newsletters.
The latest contribution comes from Robert Bohrer who translated a floating point benchmark program from C into Limbo.
See the Flops item for details.
The latest CD contains the version of Inferno dated 18 June 2001. The 3 Oct 2001 update should be applied to this in order to bring it up to date. See the Inferno Updates section of the website. If you have a current Inferno
Subscription but you do not have
the 18 June 2001 update, you can either download it or a new CD will be sent to you on request.
A new Inferno update will be released shortly.
Partial Updates from 2 Oct and 4 Dec 2001 are available on the Bell Labs Plan 9 web site.
Nippon Techno Lab (NTL) has been appointed as an exclusive distributor of the Inferno operating system in Japan.
We now have complimentary passes available for the
LinuxWorld Expo. If you
would like one, please contact karen@vitanuova.com.
We also hope to take space at other shows during the
coming months, and will let you have details as soon as
they are finalised.
The winner of an Inferno Subscription in the business card
draw at LinuxWorld C & D in Tokyo was:
Mr. Takeshi YAMANASHI
Tokyo Institute of Technology
If you have any feedback or you would like to contribute to the Inferno and Plan 9 newsletter, please email newsletter@vitanuova.com.
|