Translucent Windows for X using OpenGL 539
Anonymous Coward writes "Take a look at this! This guy is working on an OpenGL backend for X. But he needs pizza and some new hardware. He's on a TNT2 for heaven sake!"
Do you suffer painful hallucination? -- Don Juan, cited by Carlos Casteneda
This doesn't automatically mean higher performance (Score:5, Informative)
Using OpenGL will not automatically make everything faster. Heck, I wouldn't be surprised if some things become slower. OpenGL is good for 3D stuff, but sucks for 2D stuff. Ever tried blitting in OpenGL? Slooooooooow. And guess what? Most applications use 2D drawing primitives.
The biggest performance bottlenecks are, and have always been: 1) the driver 2) the kernel.
2 has already been addressed [optusnet.com.au] (my system flies with these patches; it's even faster than Windows!). The upcoming 2.6 kernel will be amazing.
1 remains a problem. X's architecture doesn't cause the slowness, it's all in the driver! If the driver doesn't implement all OpenGL features then you'll still be stuck with slow drawing speed (or maybe even slower, since emulating OpenGL is slow beyond imagination. ever tried running TuxRacer in plain non-accelerated Mesa?)
Re:This doesn't automatically mean higher performa (Score:2)
Re:This doesn't automatically mean higher performa (Score:5, Insightful)
When I'm writing a report, I want to concentrate on my word processor, not all the windows below it.
Translucent windows is eyecandy and good for demonstrations, but that's pretty much it. Other than that, they're usability nightmares and harm productivity.
Re:This doesn't automatically mean higher performa (Score:2, Informative)
And it isn't distracting in other situations (at least not with my settings and working habits).
Still, I prefer a higher resolution so that I can have no
Re:This doesn't automatically mean higher performa (Score:4, Interesting)
As a user who has been using the Linux desktop for about 4 years now I'd have to say this is a very exciting project. You should take a look at kde-look [kde-look.org] to get an idea what types of eye candies are being kicked around. I've been using translucent aterms [sourceforge.net], Convectivea crystal icons [everaldo.com] and the Mosfet's KDE liquid module [mosfet.org] for quite a while now, I love it.
Btw, check out Karamba [efd.lth.se], its a new KDE extention that suports (fake) transparency, lots of fancy do-dads and themes. Beefs up the candy factor (and some functionality!). Might as well look good if your going to have to use it.
Last one! Check out Slicker [sourceforge.net]. Its a collection of utilities which provide an alternative to KDE's kicker, and looks good. I don't know about you, but I got tired of looking at screen shots of OSX.
Re:This doesn't automatically mean higher performa (Score:3, Interesting)
Not for me. I have a desktop switching app (called Altdesk, it's for Windows though) that has this tiny bar with all my desktops and apps on it. It's an 'always on top' window that I have at the bottom right above my Start Menu.
Unfortunately, it blocks information occasionally because some apps throw stuff there. It blocks Opera's message about ho
Re:This doesn't automatically mean higher performa (Score:3, Interesting)
Re:This doesn't automatically mean higher performa (Score:3, Insightful)
It's not really about translucent windows par se (Score:5, Insightful)
This would mean some of the drawing done by the GPU instead of the CPU.
What's the point?
The basic need is that, well, it needs trying out!
It's easy to say "oh, it will never work" but that's nto really true until someone can show you a well crafted OpenGL desktop and it doesn't work.
I hope it works because for the most part my expensive graphics card pumps out a 2d desktop.
Human Brains (Score:4, Funny)
Don't you mean the male human brain? :)
Re:This doesn't automatically mean higher performa (Score:2)
Re:This doesn't automatically mean higher performa (Score:5, Insightful)
Quartz Extreme uses OpenGL acceleration for window compositing, but the actual drawing inside the window is still rendered in software.
Heck, when it comes to raw drawing speed, Quartz is actually slow.
Re:This doesn't automatically mean higher performa (Score:2, Interesting)
When (not if) graphics chipsets are powerful enough to render display PDF into a texture then all the graphics drawing and compositing will be taken care of on the hardware, completely alleviating the CPU of all the donkey work.
I can see apple taking this route as soon as its viable with the hardware, infact I wouldn't be surprised if thats sooner than anyone expects.
Re:This doesn't automatically mean higher performa (Score:2)
Re:This doesn't automatically mean higher performa (Score:3, Informative)
Yay, a NeXTDimension board for PCs!
For those who don't remember, NeXT made a colour graphics card for the NeXTCube called the NeXTDimension, which consisted of an Intel i860 processor running at 33 MHz, up to 32 MB of RAM, and a bunch of video/audio I/O interfaces. The card was designed to offload all Display PostScript op
Re:This doesn't automatically mean higher performa (Score:4, Insightful)
Re:This doesn't automatically mean higher performa (Score:3, Interesting)
However, the potential for creating useful 3D widgets is something that warrants investigation...
As a crappy example, take a widget that uses floor plans at design time, and presents 3D fire escape routes, or directions around a building, or whatever, at runtime.
If I had a better, more general example that would be better suited to being a widget, than I'd go make it. The point is, their is potential there beyond eye-candy, that *could* increase productivity.
Re:This doesn't automatically mean higher performa (Score:5, Funny)
Well, I for one am damn interested to finally find out on of the dirtiest secrets in the history of the GUI:
What is on the backside of all these "windows"
Re:This doesn't automatically mean higher performa (Score:2)
That is because you don't have much clue what you're talking about.
Using OpenGL will not automatically make everything faster. Heck, I wouldn't be surprised if some things become slower. OpenGL is good for 3D stuff, but sucks for 2D stuff. Ever tried blitting in OpenGL? Slooooooooow. And guess what? Most applications use 2D drawing primitives.
Reality check. What makes you think that 2D blitting is
Re:This doesn't automatically mean higher performa (Score:5, Insightful)
I tried it out. I wrote an app that blits in OpenGL and an app that blits in plain SDL and the OpenGL one is actually *slower.
You didn't blit to a texture, did you? You probably used SDL's hacked-up blits to OGL+SDL surfaces. In fact, you really haven't tested much, and it would look good on you to retract your wrong claims with respect to 2D performance on top of OpenGL. All you have shown is that *you* have managed to create a slow rendering path for yourself. I too, can write programs that run slowly, if I am so inclined.
Please look at Quake running at hundreds of frames per second and then try to tell me that there is any 2D primitive that can't be implemented efficiently in OpenGL.
Re:This doesn't automatically mean higher performa (Score:3, Informative)
Well, for one thing, the noise level will tend to be higher; as case temperature increases, fans that will normally be quiet will start up, or already running fans will rev faster. The typical desktop is noisy enough already, and this will do nothing to help. People that have built silent machines, especially using mini-atx for use in their living rooms and so on risk getting a very large difference in
Re:This doesn't automatically mean higher performa (Score:3, Insightful)
Re:This doesn't automatically mean higher performa (Score:5, Interesting)
Well, that's kind of the point isn't it? The real problem with X is that unless you're lucky enough to have the right card, there isn't a decent enough driver for it. For new cards, it often hasn't been written yet, and for old cards, it hasn't been updated along with the main tree, and has become buggy. Most card vendors don't bother writing drivers for linux, because writing an X driver is a whole different kettle of fish to writing a windows driver, and specs are hard to get a hold of for third party coders. Now imagine instead of having to write an X driver, the manufacturer just wrote an OpenGL driver - now they're on familiar territoy, because they're writing an interface to hardware which is designed to support that interface. Games developers, and such, will not even need to go through X, because a direct, accelerated OpenGL interface will be available, so porting to linux will be a lot easier. Manufacturers will see a blossoming market. Maybe this is wishful thinking, but this could be just what linux needs to sort out its graphics woes.
stop confusing implementation and standard (Score:3, Informative)
"X" is a protocol. There can't be "drivers for it", there can only be implementations of it. And there are plenty of those, many of which have excellent drivers for the hardware they are designed for. You can get "X" implementations for Sun, SGI, and HP. You can get also commercially supported "X" implementations for Linux with excellent drivers from third parties (e.g., from xi
Re:stop confusing implementation and standard (Score:3, Informative)
That's your argument correct?
I just returned from best buy, and low-and-behold, there are only a FEW graphics cards out anymore!
You have your choice between a number of ATI cards, and a number of NVidia cards. What other choices for 3d acceleration are there these days? Well, there's 3D Labs' workstation cards, but those are out of most peoples budge, and most people wouldn't buy them...
As long as ATI and NVidia are supported in linux, it has *enough* support, becau
Re:This doesn't automatically mean higher performa (Score:4, Informative)
That was pretty much the point I was making. At the moment, X does rely on X specific drivers. If OpenGL was used as the driver API, there would be a useful hardware accelerated API that any project could use.
If anything, it would hopefully make a great fallback driver for X if the normal high speed driver doesn't work for whatever reason. Gee it would be nice if X had a generic fall back that would just "work" (TM) if for some reason your nvidia module didn't get loaded.
It does - there is a vesa framebuffer module which will run on just about any video card. The problem is it is completely unaccelerated.
Re:This doesn't automatically mean higher performa (Score:5, Informative)
This is a common fallacy. X uses unix domain sockets, and the network transparency does not add anything to the latency if you're not running it over a network. This has apparently been analyzed by the X people, and found not to be a problem (there's a discussion of this on xwin.org). The question is does using a client/server model justify the drop in performance this entails - if not then why use X in the first place?
Re:This doesn't automatically mean higher performa (Score:3, Informative)
and the remark by the article's editor about the TNT2 is proof that many people have no clue about computers even so called geeks.
No, it's proof that you didn't bother to read the article, in which the author clearly states:
"* Implement more graphics primitives using OpenGL instead of cfb. This currently is kind of stalled since I only have a poor TNT2
Got this before it died.... (Score:5, Informative)
The idea is that we see OpenGL as our hardware. So we just took the vanilla XFree sources and implemented TransluXent as a new hardware. Graphics are rendered to textures using the existing cfb code. Each top level window then consists out of a number of textures which are composed together on the screen. In this phase we can easily apply alpha blending.
Although this initially was thought as a mere hack to provide translucent windows it is clear that this should evolve into an X server which uses OpenGL to implement the graphics operations. For more information about future plans please refer to the Future page.
How can you help?
I need food for further development of this Xserver. So if you are in the position to fund a free software project, consider funding a next generation X server.
Also I need hardware as my poor TNT2 lacks pbuffer support and CopySubTexImage is buggy, making it virtually impossible to develop actual OpenGL rendering of X graphics primitives.
Gilbert Baumann
Ettlingen, Germany
Images mirror (was Got this before it died....) (Score:5, Informative)
A plain vanilla X session. [warwick.ac.uk]
Though the xterm in the upper left hand corner is a hacked one which makes its background more translucent than the other windows background.
Experimenting with shadows. [warwick.ac.uk]
This is just a screen shot made during an experiment. The current version of the TransluXent server cannot do this -- so consider this a mock up.
Don't Lie To Us... (Score:5, Funny)
he needs pizza and some new hardware
His webpage says he need a new hardware, but no pizza. Don't tell me you're his room mate and you're expecting pizza for free from us... ;-)
New programming standards (Score:2, Funny)
boss: We are going to need an OpenGL window manager by tuesday.
bob: Well, its gonna take a pecan pie and some cheetos.
boss: No pecan pie. Peach pie.
bob: OK, then Doritos plus fresh onion dip.
boss: Done, we will expect it by tuesday.
bob: Standard bonus for early projects?
boss: Yup, 20 hotwings from Hootas...
Food for thought?? (Score:5, Interesting)
I'd think food here could mean 'ideas' (food, as in fuel, intellectual fodder). Plus, when you consider he's a German, you could be sure how these words get mixed.
Food for thought?
Re:Food for thought?? (Score:3, Insightful)
Re:Food for thought?? (Score:4, Funny)
(Essen == "food")
Hmmmm (Score:5, Interesting)
First off, we were all waiting for someone to implement Quartz/ Aqua/ Whatever on GNU/ Linux in a practically viable way. So is this it? Can this be our backwards compatible, practical step towards Quartz?
Secondly, how will this cross with the current state of "forking XFree86"? Will people be jumping all over to adopt this code to spur the forking of XFree (or, conversely, will XFree accept this code more swiftly because of its current under-fire state)? Or is this totally the wrong time to introduce this, because of the XFree wars going on?
Any comments?
Re:Hmmmm (Score:3, Interesting)
Quartz is overrated. It *feels* fast, but when it comes to pure drawing speed, Quartz is slow. They say Quartz Extreme use OpenGL acceleration but that's only true for window compositing: everything else is still rendered in software.
People here always brag about how "things must be optimized for speed in order to succeed on the desktop" and how "raw performance" is the most important thing in a windowing system but forget that Quartz
Re:Hmmmm (Score:2)
Re:Hmmmm (Score:2, Interesting)
You are correct to say that it uses OGL for compositing and software for everything else. However, so does about every other HAL out there. Last I checked, they don't have hardware accelleration for fonts, aside from blitting. Everything is still done in CPU. Certain things cannot be done in hardware yet. 90% of our GUI work out there is compositing, so I don't see the big deal.
Oh, and shouldn't it be "all your package are belong to us"?
Re:Hmmmm (Score:2, Interesting)
Of course considering the graphics hardware Apple has to back it, it would be inexcusable not to have decennt performance. However, the fairly slow CPUs used don't seem to be a problem.
On my TiBook with a fairly slow CPU and fairly fast graphics hardware most X11 drawing (using Apple's X11 server) is considerably faster than XFree86 on my old desktop PC with a CPU of
Re:Hmmmm (Score:3, Interesting)
Go benchmark it yourself. [macupdate.com]
Re:Hmmmm (Score:3, Interesting)
That's the physics definition of velocity. Speed is the magnitude of the velocity vector.
But the physics definition does not apply to the impatient, annoyed user sitting in front of his monitor.
A double buffered GUI system feels more responsive and gives the user better feedback. Go read the Design of Everyday Things.
If the feeling of being fast is
Transluscent X?? (Score:2)
flash!! flash!!! (Score:2, Funny)
Another thing that X should have had a long time a (Score:2)
Now do not get me wrong here, this is cool as hell, I'm glad someone is working on it but for someone to finally start bringing OpenGL as a backend after all these years is sad. It should have happened a long time ago. The X
Re:Another thing that X should have had a long tim (Score:2)
Re:Another thing that X should have had a long tim (Score:2)
As someone who's been working with them a lot recently - http://www.chrisseaton.com/software/software.php?
50 fps when blending a window half the size of the screen is typical in my (very heavy and as yet unoptmised) app - no flickering at all.
Re:Another thing that X should have had a long tim (Score:2)
Re:Another thing that X should have had a long tim (Score:2)
Windows 2000 was the first version of Windows that added OS-level translucency [microsoft.com] support... so I guess it's been around 3 years now.
Personally, I like the mouse pointer shadow and dragging translucent icons around, but I think translucent windows in general, and that fade in/fade out of menus is annoying and lame.
Re:Another thing that X should have had a long tim (Score:2, Interesting)
Win95/98/ME didn't have either. Were they ready for the desktop? People said they are.
Translucent windows are only eyecandy and can actually decrease productivity. When I'm typing a report I want to concentrate on my report, not all the windows below my word processor!
Translucency is nice but it's not a requirement.
Re:Another thing that X should have had a long tim (Score:5, Insightful)
I think Linux is entering the desktop race at an unfortunate stage. So many people are now so used to Windows that I'm not sure what can be done about it in the short term. IMHO KDE as a desktop environment can mostly stand toe to toe with Windows. But it doesn't matter, because it isn't exactly what people expect.
The number of computer users has exploded over the last ten years, until now much of the technological world is dependent on them. But that also means a lot of people and companies have standardized on one thing - Windows. There's not a whole lot you can do about that - one the decision is made and people are trained, the inertia in the system outweighs EVERY other factor.
We as geeks tend to forget this, but many people want the computer to just do its job and stay out of the way. Which really means "do what I expect". What they expect is what they are used to. Checkmate.
I consider the computer desktop to be a natural monopoly, even more so than things like phones. Phones were only a natural monopoly while there was one way to get a signal to the home, and it involved laying lots of cable. But technology changed that situation, and the people were ready to use it, because it didn't involve any significant change on their part. The monopoly with computer software, however, is driven not by technology but by the USER HIM/HERSELF. There is no solution for this problem based on technology. I know the thought is usually used in other circumstances, but it applies here - you can't apply a technical solution to a problem rooted in people. The monopoly comes from people.
Yes, Linux still has some weaknesses. But compare it to Windows 95, for example, which kicked off the PC boom. Being "desktop ready" is all relative. And in the end, I think worrying about being "desktop ready" won't make any difference, even if we are somehow defined to have "made it". I'd worry about inertia. That's the real enemy.
Re:Another thing that X should have had a long tim (Score:3, Insightful)
Yet many people used Windows 3.1, because it was such an improvement over what had come before
Windows 3.1 was such an improvement over DOS for PCs and compatibles only. I had an Amiga: preemptive multitasking, scalable fonts, multiscreen gui (I could even drag a screen with different video mode), a nice Unix-like command line environment, up to 24 MBs of RAM (for 68000) and up to 4 GBs for later Motorola CPUs, 4-channel 44 KHz sound, blitter and a video chip that could do hardware scrolling, hardware sp
Not just for transparency? (Score:5, Interesting)
- scaling (with interpolation)
- color depth independance
without the underlying application having to know about this at all!
Mandatory Amiga Counterpoint (Score:2, Interesting)
AmigaForever!!!
Isn't that what Windows does ? (Score:4, Informative)
Re:Isn't that what Windows does ? (Score:2)
Ciryon
Thanks (Score:5, Funny)
Re:Thanks (Score:2)
Oh great, more network traffic (Score:3, Interesting)
Yep, the site is dead, that must be a record.
Personally, I'd be a lot more excited if someone was working on a useable desktop that used less bandwidth, especially in terms of network traffic with remote sessions. The amount of bloat on KDE, for example, gets worse with each new release, and it is killing my local network.
Alternatively, I suppose I could go for an older window manager that makes DOS look futuristic.
Please, can't someone come up with a Linux Window manager that doesn't give Windows users hysterics, but which can run over, say, a dial-up connection at a reasonable speed? In other words, something that performs a bit like MS Terminal Server (the 2000 version, let alone the XP 16-bit one)? I shouldn't need a gigabit backbone to run 10 diskless terminals...
Re:Oh great, more network traffic (Score:3, Insightful)
This is being discussed in win.org (Score:5, Informative)
It seams that we need a mirror (Score:2)
It timeout on me.
Mirror (Score:5, Informative)
Why? (Score:5, Insightful)
What is the point? Other than chewing up graphics card cycles.
If you have one window and a black background then super. Kinda just like what I have now. But if you are trying to code in vi, and that window is over slashdot, and that window is over irc you can't see anything!
Please tell me what I'm missing.
ditto (Score:4, Interesting)
Re:Why? (Score:3, Interesting)
It's great for development! (Score:4, Insightful)
It's also useful when Googling to fix system problems (web browser underneath, term on top) or to diganose system problems on multiple hosts (with a large number of overlapping x terms).
I have no problem seeing though 3 levels of terms, or reading translucent terminals. The exact level of translucency, the color scheme and not having a very distracting desktop background are quite important factors though.
Re:Why? (Score:5, Informative)
It seems like everyone on slashdot is only looking for reasons it is useful to them. Put away your icr and web browsing thoughts for a minute.
Let's think broader. Lets think about the commercial use for a feature such as true transparency. I currently develop Air Traffic Control software for the US. I work on the display software that had to be written with the MOX (multiple overlay extenstion) extension to X. But we needed to have a vendor deveop a very expensive card to actualy be able to do the transparency. We have requirments to display the tracks (aircrafts) over anything else on the display. All of our windows therefor have to be truly transparent because they all have a different visual priority. I belive there are many other commercial uses for this too in real time monitoring. If there was linux support for this there would be a much bigger push to develop some of these big money project on linux boxes. This would be a major cost saver for software companies and a big boost for linux.
IMO
Re:Why? (Score:3, Insightful)
I rarely overlap windows. I think it's a very poor way to work. Same with having icons on the desktop. If they're all covered by other windows they're not easily accessible. I just use virtual dekstops, and lay my windows out in a tiled fashion. Flicking between desktops is a two keystroke job. Simple and convienient.
For those... (Score:5, Insightful)
Aqua, if memory serves, stores all windows and bitmaps in offscreen texture buffers, does almost all primitive rendering with hardware primitives, and then composites it all onscreen using quads (or triangles, whatever) and applies various rendering effects to it.
This system seems to simply buffer individual windows in VRam, render to them in software, and composite them in realtime using the hardware, instead of just rendering everything directly to the front-buffer. Unless they get most primitives rendered in hardware (especially bitmaps/icons), it's going to be ass-slow.
Just my 0.02c.
What About XDirectfb? (Score:3, Interesting)
http://www.directfb.org/xdirectfb.xml
Wouldn't it be nice if there was a consensus project for UNIX/Linux graphics that could integrate and manage the work of all these many people? Concentration of effort, rather than dilution?
The Framebuffer is a DOG! (Score:5, Informative)
XFree86 has direct-to-hardware rendering, it has DRI and MITSHM. Granted it uses a few more megs of memory than I'd like it too, it's our best bet for 2D performance out there. It really is quite good, I think a lot of the desktop environments need optimization (KDE is a bad performer all-around, IMO).
The framebuffer exists for three reasons:
1. Simple to program for.
2. Needed for 68k and most PPC machines (no native console mode)
3. Platform Independent.
it doesnt:
1. Perform well enough for casual use.
2. Play well with others.
3. Run X programs without the overhead of X anyway.
Havoc is gonna shit bricks....... (Score:4, Insightful)
Would the Window Manager take care of the opacity of a window, so it was either all transparent or none, or would this be something the application involved did, to make parts of the app transparent and other parts solid?
Transparency is nice, I'd like to have all my popup menus transparent but not necessarily their parent windows, I think things are going to get complicated fast perhaps though!
Shadows (Score:2)
Nice work, but at the wrong place (Score:2)
This work should be done at QT and GTK+ level. Overhead would be much smaller that way. I can only see some advantages of the double X server solution if you want to run remote x clients.
Hardware (Score:5, Insightful)
X and SMP ? (Score:2)
Busted or... (Score:5, Funny)
Enjoy Pr0n
Girlfriend comes into house.
Franticly load word processor to cover pr0n
Scream as you notice you have windows transparent
Girlfriend kicks you out of seat and takes over pr0n viewage!
Wake up
===Sig===
Pfft, TNT2 is fine (Score:2)
I hate all your people who can get their video cards to work properly!
Just because you read success stories from people with the exact setup~ just because you don't get any error messages~ just because it works on windows~ just because god loves you~ well it's still not going to work, k?
Yet another cool-looking thing which I can get easily in windows and love, I can't get in Linux >_
hmm (Score:3, Funny)
Eye candy, but very cool.. (Score:2)
But some will argue that anything more sophisticated than 80x24 console mode is eye candy. In some scenarios (servers..) it is. But we're talking desktops here
Personally, I think X rocks. I'd like to see this incorporated into the XFree code base, but optional, so that older hardware is still supported.
In response to earlier posts along the lines of "but I want to concentrate on the browser/app/whatever, not whats behind them..." -- fine - you will not be forced to
screenshot mirror (Score:2, Informative)
Using HW accel for eyecandy is the way to go. (Score:4, Informative)
But there's still work to do. Note that the windows are translucent all across, borders and all.
Come on, Mr. Baumann (Score:3, Funny)
Not Just a Novelty (Score:5, Insightful)
A little bit of history is required here. X was written back when video memory was very tight: the framebuffer (what you saw) was ALL of the video memory. There wasn't any unused video memory for textures or pixmaps or caching. So obscured windows caused a big problem: what do you do when you unobscured the window? One technique was to store a bitmap of the window as a "backing store". If the backing store is on the X server then it is called a "save under" but it's the same concept. When a region is exposed you'd just draw in the previous contents from the backing store.
Unfortunately backing stores use up heaps of memory. So the preferred technique was to send an Expose event to the application, tell it which region just got unobscured, and the application would redraw the necessary pixels. CPU was and still is cheap compared to memory! This is the technique still in use today and explains why you get messy redraws when you drag a window around your desktop.
For people who are serious about removing all the cruft in XFree86, you could make serious headway by forcing all windows to be allocated with this TransluXent technique. The amount of legacy code you could rip out of XFree86 is staggering. All the clip mask code. All the loops around drawing code. Lots of tests become useless. No more need for Expose events. Also imagine a proper Xshape extension using alpha masks instead of clip lists.
This TransluXent technique is unfortunately only hackery. They've implemented a "framebuffer" type based on cfb (colour frame buffer). This is the intermediate model that XFree86 uses before your video driver gets involved. So even though they get the translucency they won't get any of the potential to simplify the X server. If somebody could implement this idea higher up the chain - say as an extension to save unders!? - then you would make XFree86 a serious contender for Aqua style graphics.
Of course, the downside is that you'll chew up serious amounts of offscreen video memory (aka texture memory). You might need to implement some code that "swaps" unmapped windows into system memory.
Re:Not Just a Novelty (Score:4, Interesting)
OpenGL already does this for you automagically.
Check this [opengl.org] and this [opengl.org].
Offtopic (Score:3, Insightful)
What it takes to make translucency work (Score:5, Interesting)
Consider driving along the road as it starts to rain. Normally, you are looking downrange - your eyes are focused on infinity (as far as your visual system is concerned). The rain drops on your windshield are forming an image on your retina, but it is out of focus, and so is easier for your visual system to ignore.
Should you want to look at the raindrops (to evaluate whether the rain is sufficient to require you to change your driving pattern), you shift the focus of your eyes. Now the raindrops are forming a clear image on your retina, but the road is not - now it is the road that the visual system can ignore.
So, to extend this to a computer display - at a minimum, you would want to employ some form of blurring on the windows in the background as well as reducing the contrast. For this, a 3D card with motion blur might work without too much added work.
But the second thing you need is a good, quick way to shift focus from window to window. If the back windows are fully obscured by the forward windows you cannot just click on them. You cannot just shift focus - the system has no feedback where your eye is focused. As a result, you have to minimize the forground window, or have a "send to back" button, or something like that, and you still get into the "nope. Nope. Not you. Nope. Nu-uh. Nyet. Aw, c'mon!" mode.
MIRROR (Score:4, Funny)
In case of slashdot effect
Most don't understand it's not just a novelty. (Score:4, Insightful)
- Technologies like these are beneficial to the user experience insofar as eliminating unexpected events. I am sick of seeing visual artifacts, seconds-old window trails, and other irritating bugs in windowing systems. This is the 21st century, you think that we could at least render simple graphics correctly. Quartz is the only windowing system that so far does this right.
- Transluscent windows are not useless and they are not just eye-candy. I often as I work with Terminal, I use its transparency to imporve my workflow. It's nice being able to set my terminal directly on top of some instructions (like a HOW-TO) and not have to waste screen space. I also have other various widgets that display useful information to me (using Konfabulator) but do not really take up space because they are clear -- they are always on top but do not hide the data I am working with. Same goes for Stickies. The list goes on.
- "2D" OpenGL is not slow. Maybe if many of you had a clue, you would be aware of this project [enlightenment.org]. Here, OpenGL is an option for achieving accelleration. You see, it's not a matter of whether it's 2D or 3D with this hardware. It's a matter of who better fill rates and handles various graphics operations (like alpha blending). Putting a texture on a polygon then making that polygon the shape of a window and giving it no angle is not "2D". Furthermore, it is extremely fast because 3D accelleration hardware is designed to do intensive graphics very fast. 2D accelleration is pretty much geared towards drawing primatives and only the most very basic instructions. It also remains CPU intensive. If you have super powerful hardware on your video card, use it for something in the other 80-90% of your time that's not used playing video games.
My hat goes off to the author of this project. It's about time we see a development like this on X11. Maybe we'll finally see X11 come out of the stone-age and get to where Apple has been for the past 3 years.
Re:Can you say Quartz Extreme? (Score:5, Insightful)
Oh, that's right. It's not free. Well, maybe now you understand why some of us are excited.
Re:Can you say Quartz Extreme? (don't feed troll) (Score:3, Informative)
Go to Apple's QE site [apple.com] and follow the link to the technology brief.
IIRC, one primary reason is the card has to support non-square textures, something the TNT2 does not, otherwise QE cannot function.
Re:Can you say Quartz Extreme? (Score:3, Insightful)
Re:4 comments, slashdotted (Score:2)
It's not dead, it's pining for the fjords.
Useability nightmare (Score:3, Insightful)
Your monitor is 2D. Your mouse is a 2D input device. Your keyboard is... well I don't know (1D?).
It makes no sense to have a full 3D desktop; navigating it will be a true horror.
Why do you think GUIs look so much like each other? (windows, buttons, menus, etc.) Because it works. It's proven. It's mature. Hollywood had 3D desktops for years, but we still don't have it on the PC, because they're usability night
Re:Useability nightmare (Score:2)
Re:CPU usage (Score:2)
Re:Stardock WindowFX.. (Score:3, Informative)
It's just window layering, not true window
Given the nature of its implementation, I'd consider Stardock's WindowFX a system hack.
Re:Old Hardware? (Score:3, Insightful)
But seriously, if you don't want to use OpenGL for your X server, then don't use it. Likewise, if 4 doesn't support your videocard (I heard that some drivers got broken) then use 3.3.6 - anything it breaks your videocard is too slow to display anyway. And if you want games that run on older PCs, buy shareware [spiderwebsoftware.com]! People need to use that new hardware for something, and given the choice between getting shiny new ha
Re:Great! (Score:3, Insightful)
Apple's version of Xfree for MacOS X does OpenGL hardware acceleration, but it doesn't do translucency (presumably, at least in part, to keep Xfree a good step and a