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

5

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


1
可能会有帮助:http://en.wikipedia.org/wiki/Wolfenstein_3D#Engine_technology - jb.
6
直接内存访问。 - Daniel A. White
2个回答

7
在Windows时代之前,硬件加速的想法并没有真正引起人们的关注。因此,大多数图形卡都以简单地将数组映射到特定地址范围的模式运行。您可以将数字插入到某些位置,从而导致相应的像素变化。常见的“setPixel”操作通常需要从图形卡中读取信息,以屏蔽信息,以确保它只干扰一个像素。同时一次性填充相邻像素范围会更快,避免了读取/掩码/写入循环。VGA卡上臭名昭著的“mode 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


2
“graphics.h”是一个非标准的Borland扩展,许多旧的图形游戏曾经使用它。它远远超出了基于文本终端的正常限制,但只受16位系统支持,而微软已经从Windows中几乎删除了对其的支持。您还需要一个古老的Borland编译器或一个仿真器

1
虽然由于许多人使用Borland编译器,BGI得到广泛部署和可用,但我想不出任何在DOS中使用BGI的专业盒装游戏。 它真的只是用于教程和偶尔的共享软件火炮模拟器。 http://en.wikipedia.org/wiki/Borland_Graphics_Interface - HostileFork says dont trust SE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接