[C++][OpenGL]自己写GUI(0)——介绍

文章可转载,转载请注明出处:http://www.cnblogs.com/collectionne/p/6928612.html。文章未完,如果不在博客园(cnblogs)发现本文,请访问前面的链接查看最新版。

 

GUI是什么

 

GUI是图形用户界面(graphical user interface)的意思,意思是采用图形方式显示的计算机操作用户界面。

 

这里的写GUI,指的是在屏幕上绘制控件(widget),并对这些控件进行管理。控件,大致就是像按钮、文本框这些组成一个GUI程序的基本部件。(注:这一段如果有问题请提出意见!)

 

关于本教程

 

虽然这个教程系列是自己编写GUI,但是其实已经有很多现成的GUI库可用了,例如Qt、wxWidgets(看这里)。C++的标准库是没有提供GUI库的,因此这些GUI库都不是C++标准库,而是第三方的。

 

竟然都已经有了这么多GUI库,为什么还要自己写呢?这源于我的个人经历——之前我在用OpenGL编写游戏,随着游戏加入的内容越来越多,加入GUI也被提上日程。当时我对GUI库不了解(甚至可能不知道,现在也是),况且似乎这种情况下也不能使用(能使用也不如自己写),于是自己写GUI。于是自己就去学习如何写GUI。我最终实现了按钮(也许还有标签),但游戏也废弃了。

 

有一个词叫做“造轮子”,虽然已经有很好的成品了,但是自己尝试写写也是不错的,可能有些时候还必须这样做。百度上关于自己写GUI的文章也很少,于是我就打算自己写一个GUI教程系列(使用C++、OpenGL),弥补百度资源的困乏。当然我自己也乐意分享自己的经验。

 

最后,为方便,这个教程使用Legacy OpenGL。并不是说我跟不上时代,out了,只是为了简单方便——我们的重点是实现GUI,因此不必在写shader、设置VBO、VAO这些事上浪费时间。况且如果OpenGL水平足够,完全可以自己将Legacy OpenGL代码改写成Modern OpenGL代码。

posted @ 2017-06-01 14:13  collectionne  阅读(7783)  评论(2编辑  收藏  举报