How does GUI output work from application to hardware level?
I am getting into GUI programming and did some research. Now not everything is clear to me. If I would use GTK+ as toolkit, how does it communicate with the graphics card? On a Linux system I suppose it would be GTK --> X Server --(OpenGL)--> graphics card. Is this right? I read that some GUIs directly draw OpenGL (e.g. Blender3D), so how do other apps draw their GUIs? If the only APIs (that i know of) for graphics cards is Direct3D and OpenGL, what is the distinction between software rendering and hardware acceleration? Can software that does "software rendering" directly write to the