Recommended Posts

There are some attempts out there. But from what I can tell nothing has a huge team working on it yet, just a couple guys playing around is the feeling I get from most :(

what would I need to know to create a graphics system for linux on par with Quartz Extreme (Mac OS X) and Desktop Composition Engine (Windows Codename Longhorn)?

what would I need to know to create a graphics system for linux on par with Quartz Extreme (Mac OS X) and Desktop Composition Engine (Windows Codename Longhorn)?

a lot. The current graphics systems are getting there and in come instances ahead. For instance XP doesn't support SVG, but several window managers in linux do support it and so do icons in some desktops. Longhorn is supposed to use vectors, but linux uses it first...(I don't know about mac here)

Longhorn is supposed to use vectors, but linux uses it first...(I don't know about mac here)

I'm sure mac uses vectors... Mac users seem to have a thing for sleek, sexy curves... If you don't believe me, look at any piece of hardware Mac has put out, at least for the last 5 years.... :laugh: :)

I think OS X might use vectors for a couple of things in the GUI. But don't quote me on that, I've barely touched a modern Mac right now - I could be totally wrong.

I'm pretty sure all the icons are still bitmaps/pixmaps though.

Quartz extreme is simply a 3D accelerated version of quartz. Where possible the 3D card handles the 'hard' work during the compositing process. Things like scaling graphics, transparency, rotation, etc. are handled by the 3D processor. OS X still ships with plain old Quartz code for Macintosh owners who don't have 16mb Radeon+ class video cards which has the same functionality - just without the hardware acceleration.

http://developer.apple.com/quartz/ is a good place to find out exactly what quartz does, specifically the quartz primer. The simple rundown of features is:

- Anti aliasing of all text and graphics

- Provides the frame-buffer display services to prevent tearing.

- Color management via Colorsync

- PDF services (quartz treats all objects it handles as PDF files)

- Transparency

- Transformations (like rotation, scaling, skew, etc).

Quartz and core graphics have services to render vectors, however the Aqua interface does not make use of them for things like Windows, widgets, or icons. Icons on OS X are high-resolution (128x128@32 + 8-bit alpha) images that are resized "on the fly" by quartz. Same story with expos?: it's actually working with bitmaps when it's doing all that flashy resizing and moving.

One thing quartz does not do is "render each window as a polygon and then bumpmaps the window contents over it" - though it is impressive all the same. Every control contains several "views". A view would be any component you can see, so for example a safari window will have views for:

- the scroll bar which is made up of the up and down arrows, the track, the thumbnail, a tool tip (if it exists) - those are each views themselves or may be made up of small views still.

- the tab bar which is made of the background, the tabs themselves are all views just like the "close" icon on the tab, the text displayed on the tab.

- a view or two for each of the 3 toolbar buttons

- each of the title bar buttons

- controls in the window (like 'add reply', and 'more options')

- the address bar, the text in the address bar, the "favicon" image, the snap back button

- the google bar, the past searches icon, the text in the google bar

- and probably a bunch more I can't see.

A window can easily break 1000 views and have an even higher number of polygons to support that. If you're interested in how a window breaks down and you have access to a macintosh running OS X with the developer tools installed fire up /developer/applications/performance tools/quartz debug.app. It will let you see what parts of the screen quartz is working with - every yellow or red rectangle is at least two polygons from quartz extremes point of view.

If you just want to use your 3D card to handle tossing your widgets on the screen then Evas is the project to look at. It's not going to provide exactly the same functionality quartz does but it's still a pretty cool project.

  • 3 weeks later...

The FD.O xserver (found here) supports compositioning and GPU-accelerated drawing. The team is collaborating with KDE and Gnome, as well as Cairo. Their plan is to provide standards and software for next-gen Linux desktop. It currently is in the early stages, but it has already matured very much.

http://www.freakforum.nu/galleri/showphoto...rt=1&thecat=998 <- Screenshot from a couple of months ago on an old pentium 3.

www.home.no/om88 <- Screenshots and a short clip (nevermind the fact that it was made with windows movie maker, I had to annoy a friend of mine when I made it :p) of software rendring in gnome. Currently there isn't many cards supported for accelerated drivers, but my ATI rage 128 pro works perfectly (my IRC-machine, 800mhz)

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.