在DOS(控制台)上使用哪些库来制作2D / 3D图形和图形用户界面?我指的是像Wolfenstein 3D,Shadow Warrior等游戏中使用的糟糕图形
答案 0 :(得分:6)
直到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中分享:
答案 1 :(得分:2)
graphics.h,非标准的Borland扩展是很多旧的图形游戏过去常用的东西。它远远超出了基于文本的终端的正常限制,但仅受16位系统支持,其中微软几乎已从Windows中删除了对它的支持。您还需要一个古老的Borland编译器或emulation.