我正在制作某种类型的图像查看器/编辑器程序,它将在所有3个主要平台上工作。
我知道我不能使用OpenGL,因为这个程序应该可以使用最糟糕的GFX卡,这意味着可能没有可用的OpenGL驱动程序。
其他程序如何在不使用硬件加速的情况下如此快速地在屏幕上绘制?(GFX卡)。
我之前使用SDL在屏幕上渲染像素,这是解决方案吗?或者我应该为所有3个主要系统(Windows、Mac、Linux)分别实现图像渲染?如果是这样,那么这3个系统都使用哪些库呢?
我不需要任何花哨的动画,只需要普通的静止图像,我可以用鼠标放大/缩小和移动它们。我不知道图像移动是如何工作的,因为这将不得不更新屏幕上的所有像素,这将是非常慢的,有什么技巧可以优化吗?(没有硬件加速)。
例如,Paint Shop Pro 7具有非常优化的图像查看,我认为它根本不使用我的GPU,而且它也非常快,我自己如何才能达到这种速度?
发布于 2012-07-08 03:37:43
OpenGL可以在所有三个平台上运行(windows,linux,mac)。它的固定管道即使在最糟糕的图形卡上也能得到支持。
图像渲染可以使用纹理完成,这在每一张卡上都受支持。
鼠标操作必须在SDL (或其他框架)中完成。
如果你选择不使用opengl,你可以使用qt,它几乎是独立于平台的。
发布于 2012-07-08 10:50:21
为了让多平台绘图,我所做的是在每个平台的绘图例程( windows的Winforms或WPF、OS X的Core Graphics和Linux的Cairo )之上编写抽象层。它在这里是开源的:https://github.com/picoe/Eto
这是当前正在使用的绘图应用程序,该应用程序支持动画,因此它的性能足以满足许多场景:http://picoe.ca/products/pablodraw
有一件事你可能会喜欢,也可能不喜欢(取决于你如何看待它),那就是它是用.NET/C#编写的。
https://stackoverflow.com/questions/11375617
复制相似问题