我对学习制作图形应用程序的不同抽象层非常感兴趣。
我看到很多术语被抛出:在最高层次的抽象中,我听说过像C#,.NET,pyglet和pygame这样的东西。更低一级,我听说过DirectX和OpenGL。然后还有DirectDraw,SDL,Win32 API以及其他多平台库,如WxWidgets。
我该如何获得一个好的感觉,了解其中一层结束的地方以及下一层开始的地方?在Windows中,使用C的“最低可能级别”创建窗口是什么?C ++呢?(代码示例将是完美的。)在X11中呢? Windows的OpenGL和DirectX实现是建立在Win32 API之上的吗?我从哪里开始学习这些内容?
SO上有另一个问题,建议使用Programming Windows。那Linux呢?有类似的书籍吗?
我知道这非常低级,并且有许多友好的工具可用,但我至少想了解表面以下发生了什么的基础知识。尽管我很想开始操作窗口和向量,但从像pygame这样的东西开始太高级了。我真的需要完全概念性的电路,了解如何在计算机上绘制图形。
我会非常感激关于书籍和资源的建议,但如果对这个问题的回答中有很多不同的方法来实现"Hello world"并涉及到不同的图形编程方法,那将是非常酷的。使用C?C++?使用OpenGL?使用DirectX?在Windows XP上?在Ubuntu上?也许我要求太多了。