我一直在开发一个小应用程序,我一直在使用 DirectX/3D 将纹理绘制到屏幕上(所有二维元素)。我发现该 API 非常易于使用,也很容易融入 OOP 原则,但我不禁觉得在这么小的东西上使用 DirectX 实在是太过分了。
不过,我似乎无法就一个好的替代方案达成共识。有什么建议吗?
编辑:原生 alpha 混合和 PNG 文件支持是必需的。
有了很多首发的爱, 詹格勒
最佳答案
如果您需要 alpha 混合,则必须使用图形硬件;这样做的唯一好方法是使用类似于您现在使用的方式的 3D API(DirectX 或 OpenGL)。任何替代方案(GDI/+ 或 DirectDraw)都不会使用完整的图形硬件来加速混合,并且必须在 CPU 上执行,从而大大降低性能。
如前所述,Direct2D 也是一个选项——它在功能上是 Direct3D 之上的一个层,支持更多特定于 2D 的功能以及出色的文本支持。
关于c++ - 什么是适用于 Windows/C++ 的良好 2D 图形绘制 API?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3621197/