我理解GTK、QT或其他图形工具包的用途。但是我不理解OpenGL的角色。它只是另一个GUI库,还是指的是更基本的东西?如果是,它是什么,什么时候我应该在日常黑客中使用它?
发布于 2009-03-07 23:34:11
这是更基本的东西。OpenGL允许您执行低级绘制(考虑“从这里到这里”而不是“绘制一个按钮”)。OpenGL操作通常也是硬件加速的,因此效率非常高,并且OpenGL应用编程接口允许您轻松处理3D。
在OpenGL和诸如QT或GTK之类的图形用户界面工具包之间进行选择实际上取决于您是试图为应用程序绘制UI元素,还是希望对图形的绘制方式进行非常精细的控制。
有时,图形用户界面工具包在幕后使用OpenGL来绘制它们的屏幕元素。
发布于 2009-03-08 00:03:52
OpenGL是图形应用编程接口,在此基础上构建更复杂的面向用户的图形库。如果你对图形开发感兴趣,尤其是3D图形,那么结识它是非常值得的。这是一个非常强大的系统,它可以做任何事情,从绘制一条线到渲染Quake,再到处理照片级的大气渲染。
所有与OpenGL相关的东西都是从OpenGL.org开始的,它提供了您所需的一切链接。
如果你更喜欢教科书,这对于OpenGL来说不是一个坏主意,那么权威的文本是“OpenGL编程指南”,因为它的封面,通俗地称为“红皮书”。你可能希望用'OpenGL Shading Language‘(或橙色书)来补充它,它会做它所说的。
关于OpenGL的好处之一是有一个简单的测试工具包- GLUT -它已经在大多数语言中通过绑定实现,并且非常容易启动和运行以进行实验和一般的修改。
所以去渲染你的茶壶吧!
发布于 2009-03-08 00:39:02
Qt、MFC、wxWidgets等都是窗口工具包--它们提供了诸如对话框、小部件、按钮等控件来创建图形用户界面应用程序。
它们通常提供的控件之一是画布,您可以在画布上使用图形命令(绘制线、绘制圆等)进行绘制。它们可能还提供了一个可以用OpenGL命令在其上绘制的OpenGL画布。
OpenGL (简而言之)是一种用于显示3D对象的语言,它非常强大,跨平台,而且有点复杂(特别是如果你的数学很弱的话!)但这比自己尝试做这些3D东西要好得多!它有时会令人沮丧,特别是如果你做错了什么,它只是绘制了一个空白屏幕。
更复杂的是,还有一些用OpenGL编写的窗口工具包,其中OpenGL在场景中提供了一组按钮、对话框等,有时(在幕后) Qt等工具使用的所有图形用户界面元素实际上都是由OpenGL绘制的!
https://stackoverflow.com/questions/622726
复制相似问题