Thread View: comp.sys.amiga.tech
2 messages
2 total messages
Started by Peter Kittel GERMANY
Thu, 20 Dec 1990 12:03
Fast circles?
Author: Peter Kittel GERMANY
Date: Thu, 20 Dec 1990 12:03
Date: Thu, 20 Dec 1990 12:03
61 lines
3323 bytes
3323 bytes
Here a question for a little project I perhaps would like to
continue during the holidays:
I want to draw FAST, filled circles in arbitrary size and in
arbitrary (but solid) color on a 4-bitplane hires screen.
You see, I still love these first-day Caleidoscope demos and
want to do similar things on my own.
BTW: These Caleidoscope demos had an announcement in their
opening screen that this was only a demo for a real, coming
product by Electronic Arts with which you were said to be able
to create all such effects on your own. But this product never
made it to the public. I already wrote to EA whether they could
let me the source for it but got no answer. Anyone existing
with better connections to them?
So I was left on my own. I already achieved some
nice line art effects, also solid area things, but my current
attempts with circles are not very satisfying.
So: what strategy is optimal?
1. Is AreaEllipse() simply the best? (I tried it, see above.)
2. I already tried to make up my own 32-edge polygon and draw
it with AreaDraw()/AreaEnd. I would prefer to find a faster
solution.
3. Would it be better to manage the 4 bitplanes separately by
hand in an own loop? Which Blitter commands would be
appropriate for this from C?
One advantage in this special situation is that the objects
have solid color. Thus the mask for any cookie-cutting has
the same shape in every bitplane as the object itself, it
only has to be inverted for some (or null) of the bitplanes.
I imagine a single bitmap set aside which holds a one-bitplane
circle and its inverted image and using this as sources for
all the Blitter operations. Perhaps I can make this bitplane
a little bigger providing space for circles and masks of
many different sizes so that they only need to be computed
one single time at start.
Hmm, do I really need that inverted circle image? Isn't this
inversion already done by simply using the proper minterms
for the Blitter? (You see, I'm no expert in this, ... yet :-)
4. To avoid flickering, I think about syncing the drawing with
WaitTOF(). If one circle is too big to get drawn fully during
one vertical scan (I assume this program runs alone on the
machine, NO multitasking, pure demo as fast as possible),
then I think about cutting the circle in two halfs (or even
more parts) so that the eye perhaps may follow the drawing
process but sees no color flickering resulting from incomplete
bitmaps.
5. Would it be necessary to turn to assembler to gain further
performance?
Well, if some kind soul may enlighten me or simply point me to
the proper place in the RKMs...
Have a nice Christmas and a happy plus successfull new year!
--
Best regards, Dr. Peter Kittel // E-Mail to \\ Only my personal opinions...
Commodore Frankfurt, Germany \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk
Re: Fast circles?
Author: Udo K Schuermann
Date: Fri, 21 Dec 1990 04:12
Date: Fri, 21 Dec 1990 04:12
43 lines
2395 bytes
2395 bytes
In article <656@cbmger.UUCP> peterk@cbmger.UUCP (Peter Kittel GERMANY) writes:
>
>Here a question for a little project I perhaps would like to
>continue during the holidays:
>
>I want to draw FAST, filled circles in arbitrary size and in
>arbitrary (but solid) color on a 4-bitplane hires screen.
>You see, I still love these first-day Caleidoscope demos and
>want to do similar things on my own.
> [stuff deleted]
Before I had a chance to fix Kaleidoscope (Polyscope?) to run entirely
in Chip RAM (and make it harddisk installable) I had a few neat
crashes that left me with a brown screen and a bunch of circles in
different sizes and colors drawn on it, in a grid pattern. From this
I assume that EA pre-draws these items on a screen in the background,
then uses the blitter to transfer different sizes and colors from one
screen to another. I don't know if they're using more than one screen
to store different colors, sizes, etc.
Btw: my copy of PolyScope runs on a 5 Meg 68030, off the HD.
It won't exit, but it will run. It's faster, too :-) Polyscope on
caffeine.
>5. Would it be necessary to turn to assembler to gain further
> performance?
Can't hurt if you do that in time-critical places, but it shouldn't be
necessary. PolyScope is written in C (at least there are %ld in the
debugging statements of the code). Try it in C first, then find out
where the bottle-necks are. Optimize those with assembler.
>Have a nice Christmas and a happy plus successfull new year!
And the same to you!
>Best regards, Dr. Peter Kittel // E-Mail to \\ Only my personal opinions...
>Commodore Frankfurt, Germany \X/ {uunet|pyramid|rutgers}!cbmvax!cbmger!peterk
Cheers!
._. Udo Schuermann "How is American beer similar to making love in
( ) walrus@wam.umd.edu a canoe?" -- "Both are f***ing close to water."
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads