Re: Why use OpenGL (was Native Mode Handling)
"Kendall Bennett" <[email protected]>
| Newsgroups | gmane.comp.freedesktop.xserver |
|---|---|
| Organization | SciTech Software, Inc. |
| Message-ID | <3FC34510.24431.14CB101A@localhost> |
Brian Paul <brian-CdwZJljFklH+2FeEXyspIVaTQe2KTcn/@public.gmane.org> wrote: > Sure, but we want to go beyond traditional 2D X server graphics. Ok. > > smaller than a complete OpenGL rendering pipeline. You don't need > > mip-mapping, multi-texturing, vertex shaders, pixel shaders, display > > lists, selection, picking, stencil buffers etc for a 2D window manager. > > Actually, I can anticipate uses for multi-texture, mipmapping, > pixel shaders, etc. in the window system. I can't think of any reasons myself, but then again I am sure people will come up with stuff. I guess my biggest concerns with this is: 1. The memory overheads for the new system, but with machines that have 128Meg+ of memory, I guess that is not a big deal. 2. The complexity of developing good 2D programs with OpenGL. Programming in OpenGL has a higher learning curve than just a simple 2D rendering API. Thinking about this some more it would seem to me that perhaps what you need is to make sure there is always a good 2D API available that is implemented in terms of 3D functionality. Make sure it is easy to use (or backwards compatible at least), and make sure it can be done *fast*. Like I mentioned before, bitmap support in OpenGL sucks - it would be nice to define some extensions to better handle 2D bitmaps via the OpenGL drivers so the 2D API's can interface more cleanly to the hardware in an efficient manner. One way of thinking about this is that as a 2D programmer, if I want to draw a blended 2D bitmap, I don't want to have to set up a geometry pipeline, load a texture map, bind the texture map, set up the 3D rendering engine state and then finally draw some 3D triangles to get my blended bitmap on the screen. Rather I just want to call something like BlendBitmap() that will take my bitmap and blend it onto the screen. Whether the internal implementaiton does all of the above is irrelevant, so long as the 2D programmer does not have to deal with all the 3D cruft. Regards, --- Kendall Bennett Chief Executive Officer SciTech Software, Inc. Phone: (530) 894 8400 http://www.scitechsoft.com ~ SciTech SNAP - The future of device driver technology! ~