Hi Alex,

> I just wanted to clarify something regarding the current graphics 
> subsystem. As I understand it, we have 3 visual buffers, that are 
> pixmaps, that have graphics data drawn to them.

That is correct. Note that the visual buffers do not neccessarily _have_
to be pixmaps, but the partial update methodology we use makes it hard to
implement them as sets of vector graphics constructs.

> If a line is to be drawn to a buffer, it is drawn by the driver as a 
> pixmap, to a pixmap.

No, drivers are supposed to provide native line-drawing functions. That
is, the driver takes a line and draws it to whichever interpretation the
underlying hardware has of a "line". X11, for example, provides
accellerated line drawing operations, but still produces a line.

Some implementation of an OpenGL target might store it as vector data
instead, to allow for scaling.

[...]

> So, rather than having pixmap objects, line objects, and filled 
> rectangle objects in the drivers, all information ends up as a pixmap.

That depends on your driver. (Right now, it turns out that this is the
case in all of them, although at least two-- xlib and directfb-- allow
at least for accellerated line drawing into pixel space).

> I hope I've made this understandable. The reason why I ask is that 
> DirectX graphics are all object-based. Pixmaps can be used no problem, 
> but it won't operate quite as efficiently that way (and at the moment I 
> can't get DirectX to understand our pixmap data!!).

The most common problem I've had in this respect was that FreeSCI didn't
understand the way the pixmap data was to be provided, i.e. I created
graphics modes with incorrect masks and shift values. You might want to
look into that.

> I'm not proposing any changes to the graphics subsystem, but just 
> throwing an idea into the ring as to making it capable of supporting 
> graphical objects as well. If this wouldn't benefit any other platforms 
> however, there's little point. Would it?

I don't seem to get the point right now. What concretely do you mean by
"object" in this context?


llap,
 Christoph


Reply via email to