Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 不带OpenGL/DirectX的二维图形作为GUI工具包_User Interface_Graphics - Fatal编程技术网

User interface 不带OpenGL/DirectX的二维图形作为GUI工具包

User interface 不带OpenGL/DirectX的二维图形作为GUI工具包,user-interface,graphics,User Interface,Graphics,我想知道如何在不使用OpenGL或DirectX的情况下创建一些2D图形。例如,Qt或GTK使用什么来绘制基本上是彩色的矩形(和文本) 我知道KDE 5和Gnome 3有一些抱怨,现在需要OpenGL(用于某些效果,包括3D效果,比如桌面立方体,这在一段时间内很流行)。很明显以前用过更简单的东西,但我不知道是什么。答案基本上是:OpenGL或SDL…在linux上绘制窗口的最基本方法是在windows上使用Xlib或Win32。这些是非常基本的窗口绘制API,也可以处理事件。但是单独使用它们可能

我想知道如何在不使用OpenGL或DirectX的情况下创建一些2D图形。例如,Qt或GTK使用什么来绘制基本上是彩色的矩形(和文本)


我知道KDE 5和Gnome 3有一些抱怨,现在需要OpenGL(用于某些效果,包括3D效果,比如桌面立方体,这在一段时间内很流行)。很明显以前用过更简单的东西,但我不知道是什么。答案基本上是:OpenGL或SDL…

在linux上绘制窗口的最基本方法是在windows上使用Xlib或Win32。这些是非常基本的窗口绘制API,也可以处理事件。但是单独使用它们可能需要很多工作

在大多数情况下,SDL、SFML或OpenGL可能是更好的选择,因为窗口渲染协议可以绘制矩形和图像,但缺少许多使开发人员的生活更轻松的QoL功能。如果您正在寻找绝对最佳性能的Xlib(或wayland)可能是一个不错的选择,但是如果您正在寻找一种编写GUI应用程序的简单方法,这可能是一个坏主意

如果您想要一个很棒的、易于使用的GuI来完成菜单和工作,亲爱的ImGui非常令人印象深刻,易于使用,可以在各种渲染表面上运行,包括SDL和DirectX

这个答案也可以帮助你,它似乎有点接近:

你会注意到,最后他们谈到了其他绘制窗口的方法,即AGG和CAROR。这是一个有点像墙的文本,但答案非常详细。

Qt使用OpenGL es(或DirectX/Angle)。另外,所有现代UI库都依赖某种硬件加速。