LWN.net Logo

3D

3D

Posted Jun 18, 2010 8:54 UTC (Fri) by dlang (✭ supporter ✭, #313)
In reply to: 3D by drago01
Parent article: A quick grumpy review of Shotwell

so why does an app to display 2D pictures not work on a machine that doesn't support OpenGL?

per the article this is only used for a slideshow, but if the person just wants to manage the images and not do a slideshow, the app is still useless on anything that doesn't have OpenGL

this is a perfect example of bling making an app unuseable.


(Log in to post comments)

3D

Posted Jun 18, 2010 15:13 UTC (Fri) by foom (subscriber, #14868) [Link]

There's really no reason why apps shouldn't be able to rely on basic OpenGL features working. At *least* via software rendering, even if you have no 3D hardware. And software rendering should be just fine for doing transition effects for a slideshow. That apps currently cannot reliably depend on OpenGL to work is a big problem...

Luckily, there is a lot of working going on now to fix that problem, so for new apps, I too would be mighty tempted to just assume it works for everyone, or will work soon enough to not matter.

3D

Posted Jun 18, 2010 17:02 UTC (Fri) by drago01 (subscriber, #50715) [Link]

I wasn't being specific to the app itself but there is no reason why apps should pretend that opengl is an optional feature that is "rare".

If opengl does not work that something at the system level is _broken_ not the app that tries to use it.

In fact I consider not using opengl where it makes sense a bug; GPUs aren't just providing a framebuffer where you can directly draw to, they can actually do the rendering, so it is valid to use them for their intended task.

3D

Posted Jun 23, 2010 9:51 UTC (Wed) by ebassi (subscriber, #54855) [Link]

so why does an app to display 2D pictures not work on a machine that doesn't support OpenGL?

you seem to imply a dichotomy between a 2D pipeline and a 3D pipeline that has ceased to exist in modern hardware - and by "modern" I mean something released post-1999.

if you have a GPU - be it a discrete or an integrated unit - all your pixels get pushed through the same pipeline. the great goal of the Linux graphics infrastructure is to make everything as hardware accelerated as possible, which means going through OpenGL - the only open API and specification for hardware accelerate graphics.

not supporting OpenGL on capable hardware (i.e. everything that's at most 5 to 10 years old) it's a bug.

3D

Posted Jun 25, 2010 11:10 UTC (Fri) by robbe (guest, #16131) [Link]

> you seem to imply a dichotomy between a 2D pipeline and a 3D pipeline

I don't think that was implied. One can certainly defend the view that a program rendering 2D objects to a 2D output without (normally) doing 3D transformations on them could limit itself to using a 2D API. Especially if the 2D API is supported by everything your target audience is caring about, while the alternative OpenGL has pretty dodgy support on average.

Whether this 2D API is implemented in HW by a 2D pipeline, a 3D pipeline, or a horde of spice-swigging OpenBSD developers warping spacetime with their giant brains is besides the point.

There are of course arguments for using OpenGL without alternative: simplicity; that the 2D API is too crufty; that shoveling wastage at the proverbial fan will finally create enough of a stink that the OpenGL situation under Linux is fixed for good.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds