DirectDraw与Windows协作
来源:互联网 发布:陌交软件怎么样 编辑:程序博客网 时间:2024/06/05 11:12
视频显示设备协作级别:
全屏模式:整个屏幕表面都分配给了你的游戏,并且你是直接写到视频设备里,没有其他的应用程序能接触到这种设备。/////////什么直接写到视频设备里????
窗口模式:DirectDraw需更多的与Windows协作,因为其他的应用程序可能需要更新他们各自的客户窗口区域。因此,窗口模式下你对于视频设备的控制和垄断
要有限的多。
设置函数:IDirectDraw::SetCooperativeLevel(HWND hwnd, DWORD dwFlags);
参数说明:hwnd是必须的,以便DirectX(这里特指DirectDraw)可以固定于它。
dwFlags:控制标记,直接影响DirectDraw与Windows之间的协作方式。
返回:调用成功返回DD_OK,失败则返回错误码
全屏模式通常设置:lpdd7->SetCooperativeLevel(hwnd,DDSCL_FULLSCREEN | DDSCL_ALLOWMODEX | DSCL_EXCLUSIVE | DDSCL_ALLOWREBOOT);
窗口化通常设置:lpdd7->SetCooperativeLevel(hwnd,DDSCL_NORMAL);
设置视频模式: IDirectDraw::SetDisplayMode();
HRESULT SetDisplayMode(
///width of mode in pixel
DWORD dwWidth,
/////heighe of mode in pixel
DWORD dwHeight,
///bits per pixel ,8,16,24,32,
DWORD dwBpp
DWORD dwRefreshRate,////desired refresh,0 for default
DWORD dwFlags ////extra flags(advanced) 0 for default
);
调用成功时返回DD_OK
例:创建一个256(8位)色的640*480模式 lpdd->SetDisplayMode(640,480,8,0,0);
创建一个16位800*600模式 lpdd->SetDisplayMode(800,600,16,0,0);
上面两种模式之间有很大区别,不仅仅是分辨率不同:色彩深度。
当创建8位色彩模式时,你就是在要求一个调色板模式,并且必须创建一个调色板并用形为8.8.8的RGB项填满它。(要知道怎么使用DirectDraw调色板)
当创建色彩深度为16、24、32bpp的RGB模式,就不需要调色板,你可以将编码过的数据直接写到显示缓冲。
- DirectDraw与Windows协作
- OS X与Windows的协作共享
- directx(directDraw)与GDI
- Ddraw--DirectDraw与GDI
- Windows 下用 SourceInsight 与 Linux 协作编码
- Windows Git与github通过ssh进行远程协作
- DirectDraw
- DirectDraw
- DirectDraw编程方法与技巧
- DirectDraw学习篇--GDI与DirectDraw的关系
- Windows Graphics Programming: Win32 GDI and DirectDraw
- DirectDraw初体验 in windows mobile
- DirectDraw 与 DirectInput 的游戏编程体验-
- DirectDraw与DirectInput游戏编程体验
- GDI与DirectDraw之间的区别
- 团队建设与协作
- 分工与协作
- 竞争与协作
- 查看Tomcat版本
- Install SopCast Player in Ubuntu
- GTD的学习
- NVIDIA GPU分类
- socket描述符选项[SOL_SOCKET]
- DirectDraw与Windows协作
- 让你访问google.com的方法(转)
- 爱立信实验室实习感想(二)
- 数组指针与指针数组
- 计算几何题目推荐
- WORA预言的云计算未来
- Android_ics openmax in stagefright 学习记录------2
- VC UI界面库大集合[转]
- window.open打开新窗口