floss.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
For people who care about, support, and build Free, Libre, and Open Source Software (FLOSS).

Administered by:

Server stats:

689
active users

Question: What was graphics programming like in early versions of Mac OS or Windows? Before GPUs became mainstays?

Who can tell me?

Having gained an understanding of what computer graphics involves, creating GUIs on 1980s or early 90s CPUs seems like quite the accomplishment!

@alcinnz I can tell you, as it was sufficiently close to the Amiga and Atari ST platforms that many concepts transfer over.

However, the question is very wide-open; did you have something specific you wanted to know about?

alcinnz

@vertigo I can appreciate that...

I suppose more than anything what I'm curious about is text rendering! TrueType was late 80s, & I'm curious how machines of that time managed it! Whilst remaining legible!

@alcinnz
All versions of Kickstart support bitmapped fonts. The fonts are rendered as a monochrome bitmap, with all the characters placed side by side. So, take Topaz/8 font for example. There are 256 characters in the ISO Latin-1 character set, and each glyph was 8 pixels wide. So, the font consists of a (256x8)=2048 pixel wide bitmap, 8 pixels in height. As each character is printed, the blitter routines are used to copy a sub-rectangle out of this bitmap onto the target bitmap. To support this, each font also contains a table of glyph widths, kerning tables, etc. Usually just the glyph widths is sufficient, though.

When Kickstart 2.0 was introduced, it offered outline font support for the first time. It worked by literally pre-rendering the entire font into a dynamically-allocated monochrome bitmap. It would literally build a bitmap font out of your outline font specs when you attempted to open it. On a 7MHz machine w/o floating point coprocessor, this would take a fair bit of time, as you could imagine. However, once open, the outline font was every bit as fast as a normal bitmapped font.

For other OSes like Windows or MacOS, I believe they worked on a character-by-character basis -- that is, opening an outline font was very fast, but it would cache glyphs as you needed them. This is why sometimes on Windows 3.1, you could see "hiccups" when rendering TrueType fonts in MS Word 6, for example.

@vertigo Did the hardware support colour pallets? So we could we have coloured text without slowing down that software?

@vertigo Looking at Apple's TrueType specs, parsing those fontfiles would barely be an issue. But as you say rasterizing them would!

I guess as for text layout, our ambitions grew as hardware capabilities improved...

@alcinnz The Amiga supported up to six bitplanes (back then; AGA-based Amigas support 8 bitplanes), allowing for your choice of 64 or 4096 colors (resp., 256 or 262144 colors for AGA) depending on video mode.

@alcinnz You'll probably wonder how the Amiga pulled off 4096 colors from a 6-bitplane display. When you're ready, let me know. I can explain that too. ;)

@vertigo O.K. I've read up on bitplanes, EGA, CGA, & VGA.

Bitplanes themselves refers to rearranging the bits across different words to shrink the bitwidth. Such that it remains easy to program in CPUs with a larger bitwidth.

@alcinnz Also, extremely easy for hardware accelerators to work with, such as the Amiga's blitter. Can scale equipment designed for monochrome to work with color easily.