gregthecanuck wrote: @Thread In the past the following systems have been discussed:
- Cairo - AGG - OpenGL
What direction is Hyperion leaning towards on the graphics API?
How would each of these systems be supported?
OpenGL is a fundamental system, Cairo can build on top of it. As such, once OpenGL is there, Cairo is there, too.
Quote:
Which API would be the "bare metal layer" just before calling the graphic card drivers?
OpenGL is suitable for the lowest level, as is Cairo, but since Cairo requires compositing, which can be accelerated with OpenGL, Cairo will sit on top of OpenGL.
Quote:
Which API would be exposed to Joe Q. Programmer?
All of them
@LiveForIt Quote:
way 2D?
way not reander the kickstart in 3D?
Because at the lowest level, you need a 2d kernel that handles the basic things, like setting up a display, framebuffer, drawables etc... Rogue wasn't talking about how the actual rendering is done, but referring to the fact that every graphics system, no matter how it is built, needs this basic functionality.
OpenGL would be the most powerful and flexible of the 3
That depends on your needs. For 2d graphics, Cairo is better than OpenGL since it also handles things that OpenGl doesn't even touch, like fonts.
Cairo is specialized for 2d vector graphcs, OpenGL is much more basic. Of course, the more basic system has more "possibilities" so to speak, but it really depends on what you are doing.
Nouveau is a DRI driver for nVidia cards. Gallium3D is a replacement driver architecture that replaces DRI.
(edit) Ah now I get what you mean... Yes Nouveau is 2D too, but that 2D driver cannot be used; in fact, not even the 3D driver can be used by AmigaOS, lacking DRI and X.
Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
Unless someone has some fancy little trick that I haven't thought of, this problem is not going to disappear until Rogue and the OS4 dev team have the new graphics system done.
I found that these problems go away with using the pull mode of the GPU, but as I explained elsewhere I couldn't get that to work reliable. I ought to have another look, really.
Seriously, if you do want to contact me write me a mail. You're more likely to get a reply then.
Will Cairo become the official replacement 2D API (as in the API that gadgets use)? Or just another toolkit that applications can use? I'm just curious as to what the plans are for 2D.
Cairo's OpenGL backend is via glitz, which appears to need a minimum of OpenGL v1.2. Obviously some features require higher versions and/or extensions, but it might be possible for glitz to work with MiniGL.
Hans wrote: @tfrieden Will Cairo become the official replacement 2D API (as in the API that gadgets use)? Or just another toolkit that applications can use? I'm just curious as to what the plans are for 2D.
No idea, there's nothing written in stone yet.
Quote:
Cairo's OpenGL backend is via glitz, which appears to need a minimum of OpenGL v1.2. Obviously some features require higher versions and/or extensions, but it might be possible for glitz to work with MiniGL.
It needs a few functions that are missing right now, namely glReadBuffer, glDrawBuffer, glCopyPixels and glGetTexImage2d. Nothing that is too difficult to add, and in fact, I was considering it already