
屏幕
您似乎对图形学和渲染管线的概念还不是很熟悉,为什么要把QT这种与图形学关系不大的东西称为图形库?QT主要是一个跨平台的应用程序开发框架,虽然它提供了绘制图形的功能,但严格来说并不算一个真正的图形库。另外,直接操作显存的方式早在DOS时代就已经被淘汰了。现在只有极少数非常古老的DOS程序还在使用这种方式。如果想通过与显卡交互来实现图形显示,目前唯一可行的途径就是使用DirectX。DirectX勉强可以被称为图形库,但更准确地说,它是显卡与应用程序之间的接口。类似的还有OpenGL及其后继者Vulkan,它们也提供类似的功能。不过需要注意的是,主流显卡的设计大多是基于DirectX的,因此无论是OpenGL还是Vulkan,最终往往还是会调用到DirectX的相关接口。建议您先明确自己的需求。如果您只是想开发游戏,完全没有必要纠结于所谓的图形库,直接选择成熟的引擎才是明智之举。目前市面上最主流的商业引擎包括Unreal Engine(UE)和Unity 3D(U3D),其中UE甚至完全开源。除此之外,还有Godot、Cocos、RPG Maker、GameMaker、Ren'Py等众多优秀的引擎可供选择。这些引擎在Steam上排名靠前,经过了市场的广泛验证,完全可以满足大部分游戏开发的需求。如果您是为了学习引擎开发和渲染技术,那么开源的图形渲染引擎OGRE3D可能比较适合您的需求。它的结构设计合理,文档也比较完善,支持多个平台。尽管OGRE3D曾经风靡一时,但由于它只是一个渲染引擎而非游戏引擎,工具链相对匮乏,如今已经逐渐退出主流视野,更多地被用于研究和学习。左手捧一本游戏引擎架构,右手拿一本实时渲染,案头堆满了诸如实时地形引擎聚焦3D模型DirectX 3D角色动画DirectX龙书之类的经典书籍,
屏幕上则是OGRE3D的源码。深入研究完这些内容后,再进一步探索Unreal Engine的源码,遇到问题时查阅相关资料,保持这样的钻研状态数年时间,必定能取得显著的成果。我以前也曾尝试过这样的学习路径,但发现这需要极大的时间和精力投入,还需要强大的毅力以及长期专注于目标的决心,避免被外界干扰。这条路确实很难走,但如果阁下有这份决心,我真心希望您能够成功,毕竟有人能完成我们当年未竟的梦想。当然,如果您觉得自己无法做到这一点,或者仅仅是为了开发游戏,那么还是建议使用成熟的引擎。毕竟,重复造轮子并不是高效的选择。