关于直接对显存操作的图形图像编程的讨论,请大家讨论
大家知道,在DOS年代,图形编程基本上是采取tc2.0或borland c++3.1等编译器,采用包含graphics.h头文件,调用initgraph()函数或内嵌汇编调用bios中断,设置显示模式,可以直接对显示缓冲区首地址:A0000操作写屏,以达到多屏,图像移动,动画等技术效果。
后来随着显示卡的发展,出现了大容量的显存,如32M显存。同时windows操作系统使得DOS一去不返。在windows中编程,如VC6.0,各种按钮也好,窗体也好,直接调用即可生成可视化的界面来。好像人们不再关心对显存、内存操作等问题了,就边windows系统本身也是在图形模式下的界面。
那么请问,windows中对大显存\显卡的编程技术原理是什么?由于windows中采用flat内存模式和32位汇编代码。请问windows中显卡内存和内存地址如何映射?如何直接可以分配显存使用?windows桌面对应于显存(或内存)中哪一块地址?如何可以做到直接像dos中的那样直接写屏,以达到高速图形图像处理的要求?例如,我们想直接改写显存中的某块数据,以达到改变桌面上显示的效果。
请各位高手讨论,各种意见均欢迎!给出参考学习资料地址也可。谢谢大家!