0

我正在制作某种图像查看器/编辑器程序,它可以在所有 3 个主要平台上运行。

我知道我不能使用 OpenGL,因为这个程序应该可以使用最糟糕的 GFX 卡,这意味着可能没有可用的 OpenGL 驱动程序。

其他程序如何在不使用硬件加速的情况下如此快速地在屏幕上绘制?(GFX 卡)。

我以前使用 SDL 在屏幕上渲染像素,这可能是解决方案吗?或者我应该为所有 3 个主要系统(Windows、Mac、Linux)分别实现图像渲染?如果是这样,哪些库用于所有这 3 个系统?

我不需要任何花哨的动画,只需要简单的静止图像,我可以放大/缩小并用鼠标移动。我不知道图像移动是如何工作的,因为这将不得不更新屏幕上的所有像素,这会很慢,有什么技巧可以优化吗?(没有硬件加速)。

比如 Paint Shop Pro 7 有非常优化的图像查看,我认为它根本不使用我的 GPU,而且它也非常快,我自己如何才能达到那个速度?

4

2 回答 2

1

OpenGL 适用于所有三个平台(windows、linux、mac)。即使在最糟糕的图形卡上也支持它的固定管道。

图像渲染可以使用纹理完成,并且每张卡都支持。

鼠标操作必须在 SDL(或其他框架)中完成。

如果你选择不使用opengl,你可以使用qt,它几乎是平台无关的。

于 2012-07-07T19:37:43.390 回答
0

我为实现多平台绘图所做的工作是在每个平台的绘图例程(Windows 的 Winforms 或 WPF、OS X 的 Core Graphics 和 Linux 的 Cairo)之上编写一个抽象层。它在这里是开源的: https ://github.com/picoe/Eto

这目前用于绘图应用程序,该应用程序支持动画,因此对于许多场景来说性能足够:http: //picoe.ca/products/pablodraw

您可能喜欢也可能不喜欢的一件事(取决于您如何看待它)是它是用 .NET/C# 编写的。

于 2012-07-08T02:50:20.740 回答