1

我想学习开始绘制图形,但我对应该从哪里开始感到困惑。我知道我可以开始学习 OpenGL 或 DirectX,但我想知道还有哪些其他选项可用于绘制图形,以及它们在 OpenGL 性能方面的扩展程度。将像素直接绘制到屏幕上的 C++ 命令让我质疑图形渲染过程是如何完成的,如果仅使用这些 C++ 命令对于小事情(如绘制自定义窗口)可能会更好的性能。

我真的不确定从哪里开始,因此任何流行的图形渲染软件/技术之间的客观比较都会很有帮助。

4

1 回答 1

2

一般来说,有几种方法可以在屏幕上或图像中绘制内容。

  • 硬件渲染(OpenGL)
    要开始学习 OpenGL,您应该阅读教程“学习现代 3D 图形编程”。教程很好;它解释了所有必要的数学,从简单的例子开始,关心性能。而且它非常现代(如果你用谷歌搜索“OpenGL 教程”,你会发现很多使用古老的“固定管道方法”的旧教程)。

  • 软件渲染
    我个人建议使用Qt 框架来完成这项任务。(当然,还有其他库可以做到这一点。)创建一个新的 QImage 或 QPixmap 对象和一个 QPainter。然后,您可以使用 QPainter 命令在图像上进行绘制。然后,您可以将图像保存到文件或在屏幕上显示。您还可以在自定义绘制事件中使用 QPainter 直接在屏幕上呈现。

  • 自定义每像素绘图
    使用此方法学习计算机图形学的“低级”内容。如果库提供的唯一操作是“将像素 x,y 设置为颜色 r,g,b”,请了解如何在屏幕上绘制线条。这也可以使用 Qt 的QImage::setPixel来完成。

于 2013-02-02T03:22:20.313 回答