我正在进入GUI编程并做了一些研究.现在不是一切都清楚了.如果我使用GTK +作为工具包,它如何与显卡通信?
在Linux系统上,我认为它将是GTK - > X Server - (OpenGL) - >显卡.这是正确的吗?
我读到一些GUI直接绘制OpenGL(例如Blender3D),那么其他应用程序如何绘制他们的GUI?
如果显卡的唯一API(我知道)是Direct3D和OpenGL,那么软件渲染和硬件加速之间的区别是什么?
可以将"软件渲染"的软件直接写入显卡的帧缓冲区,以便OpenGL不受影响吗?
PS:对不起有很多问题,但我真的不知道这一切是如何运作的,谢谢你的每一个答案:)
人们通常如何通过窗口GUI和3D渲染的混合来制作GUI程序?即SolidWorks
更具体地说:由于缺乏更好的描述,似乎OpenGL更适合渲染和创建3D对象/世界,而3D对象/世界更像游戏。因此,例如,如果我想使用OpenGL创建GUI(即MATLAB),则必须对所有字符信息进行编程以从头开始进行文本编辑,按钮等操作,这似乎很荒谬。因此,如果我想创建这些窗口,则将使用Qt之类的构建器并具有其所有功能,但是我会受到限制,如果我想在Qt中创建精美的3D模型,则必须使用所有非Qt函数。不如OpenGl好吗?(Wayland怎么也适合这张照片?)