什么用于在DOS上制作图形?

Kan*_*ghu 5 c++ graphics user-interface dos

在DOS(控制台)上使用哪些库来制作2D/3D图形和图形用户界面?我指的是像Wolfenstein 3D,Shadow Warrior等游戏中使用的糟糕图形.

Hos*_*ork 7

直到Windows的日子,硬件加速的想法才真正流行起来.因此,大多数显卡都是以简单的大型内存阵列映射到特定地址范围的模式运行的.因此,您需要将数字戳到某些位置,这会导致像素的相应更改.

setPixel式操作就经常有为了掩盖信息,以确保它不仅打乱单个像素读出的图形卡的信息.将相邻像素的范围填充在一起以避免读/掩码/写周期要快得多.VGA卡上臭名昭着的"模式13h"特别方便,因为每个字节对应一个独立的256色像素:

http://en.wikipedia.org/wiki/Mode_13h

有一个不同库的大杂烩 - 大多数是专有的 - 实现了快速线或圆绘制算法,可以在不同的图形模式下工作.例如,Genus Microprogramming的GX Graphics和Ted Gruber的Fastgraph(显然仍然在今天).按照今天的标准来看,这些并不是什么花哨的东西,但在性能方面肯定会让Borland Graphics Interface受到类似的影响.

这些图书馆在当时的编程杂志上销售了数百美元.那个时代的精神一般比新一代的程序员更加隐秘......这意味着即使你购买了这些库中的一个,你可能也没有获得源代码,除非你付出更多.当然,游戏公司不希望竞争对手知道他们使用了什么或者他们在内部开发了多少.

在DOS时代晚期,ModeX库的到来预示着一些新的未记录的视频模式和有趣的技巧(如"编译的位图").这些通常是开放源代码,并通过互联网在demoscene上分享:

http://www.ascotti.org/programming/modex.htm