Hi !

> > 2. a Z-Buffer, stencil-buffer or windowID-buffer. That is with 2. you can 
> > decide for every pixel, if it can be drawn to or not.
> 
> 3. Alpha/Colorkey/transparency.  You can decide for every pixel, but based
> on pixel value, not coordinates.

This is basically equivalent when being used for clipping purposes.
There are two possible modes of operation for it:
a) the key value is associated with the pixels that are already present in 
Video RAM. In that case, you can just treat it like an ordinary stencil buffer.
b) the key value is associated with the pixels that are to be blitted. In
that case it resembles the "backbuffer" method I outline below.

>       You should define functions to establish clipping settings,
> however they may be defined, and let the target code decide how to
> accelerate the clipping operations.  

Can you give an example for these functions ? I can see need for:
- rectangles (simple windowing)
- multiple rectangles (stacked windows)
- free shapes (shaped windows etc.)

I am not convinced, that polygons or worse curved borders of clipping regions
are used much, and thus I propose to handle them using the free-shapes method.

And due to common availability in hardware, I'd even consider that method for
multiple rectangles.

This is of course another story for 3D, where something like a 3D stencilbuffer
is infeasible.

CU, ANdy

-- 
Andreas Beck              |  Email :  <[EMAIL PROTECTED]>

Reply via email to