DDraw笔记-双缓冲和后备缓冲
双缓冲和后备缓冲
前面的例子都是,直接在主表面上绘东西。对于动画,直接在主表面上绘,会产生很严重的闪烁。解决的办法是采用双缓冲或后备缓冲。
双缓冲
双缓冲:在离屏缓冲中绘制图像,然后将其拷贝到显示表面。
见下面代码,先把数据放到double_buffer,最后再拷贝到主表面上。
下面Sleep(300);睡眠了0.3秒这么长的时间是为了更为明显的看到画面的变化。
代码下载
 
http://www.cyqdata.cn/cnblogs/article-detail-39470
DDraw笔记-高彩模式
高彩模式
除了8位的,还有16位、24位、32位等。高于8位的模式都不再采用调色板模式。下面介绍几种编码模式。
16位模式下有几种编码方案
Alpha.5.5.5:这种模式用D15位存储一个Alpha(透明度),其余15位均匀分配给红色5位,绿色5位,蓝色5位。
X5.5.5:与Alpha.5.5.5类似,只是最高位没有使用。
5.6.5:这个是16色彩最常用的模式。5位分配给红,6位分配给绿,5
http://www.cyqdata.cn/cnblogs/article-detail-37959
DDraw笔记-创建表面
创建表面
创建DDraw对象和设置协作级别请看《一个简单的DDraw应用程序》
设置模式
SetDisplayMode为设置视频模式的函数
HRESULT SetDisplayMode(DWORD dwWidth, // 屏幕宽 DWORD dwHeight, // 屏幕高 DWORD dwBPP,
http://www.cyqdata.cn/cnblogs/article-detail-37838
DDraw笔记-一个简单的DDraw应用程序
一个简单的DDraw应用程序
方煜宽
2011.05.13
上次谈到DDraw是一个组件。组件由接口组成。
DDraw总共由五个接口组成:
IUnknown:所有com接口都必须从这里继承的。(请看相关文章COM笔记-QueryInterface函数)
IDirectDraw:使用DDraw必须创建的主接口对象。
IDirectDrawSurface:创建、控制和显示的实际
http://www.cyqdata.cn/cnblogs/article-detail-37332