graphics.h的替代品

时间:2011-08-01 05:23:16

标签: c++ graphics turbo-c++

我们在大学这个学期开设了计算机图形学的入门课程。关于如何进行实验练习没有推荐的方法。大多数学生都使用Turbo C和内置的graphics.h头文件。

我对此有点担心,Turbo C是70年代的事情并且对它学习东西对我来说似乎毫无意义。我也可以为Bloodshed Dev-C ++编译器设置graphics.h,也可以在linux系统上设置libgraph。

Borland graphics.h有其他替代品吗? 我正在寻找相对简单的相对现代的解决方案,因为它们不会添加太多的样板代码等,而是实现相同的功能。

为了提供有关我们正在进行的任务的更多信息,我们将实施基本的图形算法,如DDA算法,Bresenham的算法,扫描转换等。 所以我需要能够在屏幕上绘制像素,我不需要一个真正的高级库,它可以自己绘制线条和圆形等基元。如果它可以很好但是要学习我应该能够在屏幕上绘制原始像素。

5 个答案:

答案 0 :(得分:7)

AllegroSDL库可能适合您。

我还建议不要使用Bloodshed Dev-C ++,因为它也有点过时了。您可以使用免费的MS VC++ ExpressCode::Blocks

答案 1 :(得分:2)

看看Cinder。它是一个专为“创意编码”而设计的C ++库,看起来非常简单,但功能强大(请查看示例)。

您也可以尝试SFML。它有很多跟随者,如果你有任何麻烦,你将拥有一个庞大的社区。

答案 2 :(得分:0)

如果您正在寻找“现代”和“不太多样板”,为什么不使用JavaScript?它将直接在浏览器中运行,您可以使用<canvas>元素,也可以在提供给学生的脚本中捆绑setPixel DOM函数。

以下是您可以查看的链接:http://www.codeproject.com/KB/scripting/javascriptlinedrawing.aspx

还有一个问题:Bresenham algorithm in Javascript

如果您致力于C ++,那么总会有OpenGL,但我想有更多的学习曲线。在过去,有DJI和GRGP for DJGPP(任何人都记得那个?)。我不知道有许多与设备无关的库用于将像素写入屏幕(GDI和Xlib也是特定于操作系统的)。在Perl / Python / Tcl世界中有Tk,即O.S.独立的。

我个人喜欢低级图形算法的JavaScript - 没有设置! - 但如果你不依赖于C ++,那么值得一看。但是如果你没有时间教JavaScript,那么你的学生可能会实施一些算法以获得额外的学分。

答案 3 :(得分:0)

SDL是您最好的选择。我无法使用graphics.h来使用Dev C ++,因为较新版本的Windows与它不兼容。另一个可能有效的图形库是GLFW,如果你想要的只是绘制窗口和UI的东西。

答案 4 :(得分:-1)

mandatory

该库与BGI(Borland Graphics Interface,这意味着它为Visual Studio使用“ graphics.h”)兼容API。