[openbeos] Re: The Scientific Method aka Bresenham Newsletter

  • From: <dsteward@xxxxxxxxx>
  • To: <openbeos@xxxxxxxxxxxxx>
  • Date: Sat, 7 Jun 2003 18:55:14 +1000

Hi,

Although I would agree the code is extremely slow (even the ASM) , the
example is only used to demonstrate the scientific method.
If Mr Phipps wants to write lightning fast Bresenham code (which can be
used as he said for much more than drawing lines), he would do well to look
for the code published by Michael Abrash. (see Graphics Programming Black
Book)

The fastest line drawing version I have done writes a line in runs - with
only one comparison needed for each run.
This was blindingly fast not only in ASM but also in C/C++.
It is something which modern compilers can optimize very easily for,
thus obviating the need for assembler.
In fact a C++ version would probably be at least several times faster than
Mr Phipps' ASM version using his 'scientific' method. ;-)

But Mr Abrash even demonstrated a version which through taking advantage of
the twin integer pipes on Pentiums, 'drew' two runs simultaneously! This is
silly for gfx cards since they can only accept data serially, but fantastic
if you
are drawing fonts etc in memory before blitting to screen.

Speed aside, you are correct the accumulation of error has not been handled
correctly. This means a line drawn from point A to B will probably look
different than one drawn from point B to A.

BTW, Bresenham's basic techniques were also adapted successfully to both
circles and ellipses.

It is a shame that with hardware accelerated drawing, all this knowledge has
been forgotten.
But if people want fast and properly anitaliased fonts, it is well worth to
study up on.

ds

> From: Michael Noisternig <michael.noisternig@xxxxxxxxx>
> Subject: [openbeos] Re: The Scientific Method aka Bresenham Newsletter
Article
>
> I was thinking about replying personally but then it is a public article
> so I post this to the associated mailing list.
>
> <snip>




Other related posts:

  • » [openbeos] Re: The Scientific Method aka Bresenham Newsletter