【问题标题】:A Simple, 2d cross-platform graphics library for c or c++? [closed]用于 c 或 c++ 的简单 2d 跨平台图形库? [关闭]
【发布时间】:2009-03-22 18:22:38
【问题描述】:

如标题所示,我需要一个跨平台的 2d 图形库,并提供简单的功能,如 Basic;本质上,我只需要为像素绘制某种颜色——我不需要硬件加速或任何类型的 3d 支持。我找到了几个,但它们不是跨平台的。

有人知道我的解决方案吗?

【问题讨论】:

    标签: c graphics cross-platform


    【解决方案1】:

    SDL 呢?

    也许它对您的需求来说有点太复杂了,但它肯定是跨平台的。

    【讨论】:

    • SDL 确实超出了 Agasa 的需要,但它应该足够简单易用。
    • 它以最小的努力工作。 sdl-config 存在并且 debian 预装了所有东西的事实有很大帮助。我同意这有点矫枉过正,但对于我需要的东西来说已经足够简单了。非常感谢您所做的一切!
    【解决方案2】:

    我是否遗漏了一些东西,想知道为什么没有人建议 OpenGL?将它用于 2d 将非常简单。 OP 只想为像素着色。它不会比 glBegin/glColor/glVertex/glEnd 更简单。

    【讨论】:

    • OpenGL 不保证不同实现的像素输出相同。
    • @user82238 是正确的,但是这样的硬件加速 API 存在吗? stackoverflow.com/questions/7922526/… | stackoverflow.com/questions/3919307/…(例如,允许加速精灵旋转/缩放/混合/z-order)。
    • 如果他只是在做 RGB 像素,没有花哨的照明等,我看不到一个可以提供完全不同的输出的实现,如果有任何区别的话。但是,哎呀,现在想想 7.5 年后,他可以“blit”到内存中的“屏幕”,并使用 OpenGL/etc。只是将结果扔到屏幕上。
    【解决方案3】:

    [没有特别的顺序。]但是,如果您有任何其他要求,请告诉我们。顺便说一句:我不只是在这里发布谷歌查询的结果,我已经使用了所有这些(以及 SDL——我在 SDL 中编写了我的前几款游戏 :) 我想说如果没有一系列要求,很难选择在列出的那些中。

    【讨论】:

    • 为什么是 qt 4.2?我认为最新版本的qt也不错:)
    • 我手头有 4.2 的文档链接——所以在帖子中提到了。
    • 同意,Qt (4.5) 也是一个很好的选择。
    【解决方案4】:

    重量级:

    • GTK
    • QT
    • WxWidgets

    轻量级:

    • FLTK
    • 狐狸
    • Tk
    • Lua IUP
    • 终极++
    • dlib

    不带 GUI 小部件的绘图框架:

    • SDL
    • 开罗

    【讨论】:

      【解决方案5】:
      【解决方案6】:

      我遇到的一个简洁的引擎是Angel-Engine。来自项目网站的信息:

      • 跨平台功能(Windows 和 Mac)
      • Actors(具有颜色、形状、响应、属性的游戏对象, 等)
      • 透明纹理
      • “动画”(以定义的间隔交换纹理)
      • 刚体物理
        • 聪明的程序员可以用它做软体物理
      • 声音
      • 使用多种字体呈现文本
      • 粒子系统
      • 一些基本的 AI(状态机和寻路)
      • 配置文件处理
      • 日志记录
      • 来自鼠标、键盘或 Xbox 360 控制器的输入
        • 从配置文件绑定输入
      • Python 脚本
        • 游戏内控制台

      一些用户(包括我)在linux下编译成功(没有任何大问题)。

      【讨论】:

        【解决方案7】:

        我会推荐DISLIN。它是跨平台的,支持多种语言,例程命名非常直观。

        另外,刚刚注意到没有人提到PLPLOT,也是跨平台,多语言...

        【讨论】:

        • 虽然 DISLIN 看起来很酷,但值得注意的是,非商业用途的公关开发人员需要 180 美元。
        • @dagw - 您的意思是用于商业用途。非商业用途免费。
        【解决方案8】:

        你可以使用的毕加索图形库:跨平台

        https://code.google.com/p/picasso-graphic/

        【讨论】:

          【解决方案9】:

          .Net 的跨平台 2D 图形库是 The Little Vector Library 您可以将它与 Unity 3D(推荐)或 Xamarin 结合使用,例如,在各种平台上创建 2D 图形。

          【讨论】:

          • 这似乎只适用于 .NET ? OP 要求 C/C++ 和跨平台。
          • 谢谢,这个答案对我很有帮助!
          猜你喜欢
          • 2023-04-10
          • 2010-10-08
          • 1970-01-01
          • 2010-10-22
          • 1970-01-01
          • 1970-01-01
          • 2021-01-23
          • 2011-04-12
          • 1970-01-01
          相关资源
          最近更新 更多