Linked by Jordan Spencer Cunningham on Fri 3rd Jul 2009 20:56 UTC, submitted by Michael
Thread beginning with comment 371799
To view parent comment, click here.
To read all comments associated with this story, please click here.
To view parent comment, click here.
To read all comments associated with this story, please click here.





Member since:
2006-02-26
What do you mean? Unless mistaken, most 2D operations can be made in 3D. Therefore, they should be already accelerated? The only unaccelerated operation that comes to my mind is direct pixel update, like playing a movie. Still, you could use textures and PBO/FBO to make it faster than, say, a glDrawPixel() call.
I was also surprised to read this. In the game industry, all UIs are done with the same primitives that are used for rendering the 3D scene.
In fact, for my current hobby project, I wrote a fully hardware accelerated path shape (fully compatible with the SVG path element) that uses pixel shaders for applying solid colors, images and linear/radial gradients with an arbitrary number of stops. It also supports using a Theora movie for the fill or stroke brush and does the YUV->RGB conversion in a pixel shader. The resulting images are identical to the SVG output of Firefox (which uses Cairo) assuming that the graphics hardware offers at least 4x MSAA.
The advantages of 3D hardware acceleration for 2D elements are tremendous. My implementation is written in C# and absolutely blows Cairo away when it comes to speed.