DirectDraw学习笔记
来源:互联网 发布:大数据是什么 编辑:程序博客网 时间:2024/06/04 18:34
1. CreateSurface创建的主表面是整个屏幕,所以设置协作级(SetCooperativeLevel)为窗口模式(DDSCL_NORMAL)时,
贴图需要设置裁剪器(LPDIRECDRAWCLIPPER),但SetDisplayMode有些什么后会失败,如有清楚原因的朋友麻烦告诉我,
不胜感激.
HRESULT hRet;//初始化IDirectDraw7接口hRet = DirectDrawCreateEx(NULL,(VOID**)&m_pDDraw,IID_IDirectDraw7,NULL);if ( hRet != DD_OK ){AfxMessageBox(_T("创建DirectDraw接口失败"));return FALSE;}//设置协作等级,为窗口模式hRet = m_pDDraw->SetCooperativeLevel(this->GetSafeHwnd(),DDSCL_NORMAL);if ( hRet != DD_OK ){AfxMessageBox(_T("设置窗口模式失败"));return FALSE;}CRect rt;GetClientRect(&rt);//设置显示模式hRet = m_pDDraw->SetDisplayMode(rt.Width(),rt.Height(),32,0,0);if ( hRet != DD_OK ){AfxMessageBox(_T("设置窗口显示模式失败"));return FALSE;}//创建表面结构体DDSURFACEDESC2 ddsd;ZeroMemory(&ddsd, sizeof(ddsd));ddsd.dwSize = sizeof(ddsd);ddsd.dwFlags = DDSD_CAPS ;//表面有DirectDraw表面功能,ddsCaps成员有效ddsd.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE;if(FAILED(hRet = m_pDDraw->CreateSurface(&ddsd,&m_pddsPrimary,NULL))){AfxMessageBox(_T("创建主表面失败"));return FALSE;}memset(&ddsd, 0, sizeof(ddsd));ddsd.dwSize = sizeof(ddsd);ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH;ddsd.ddsCaps.dwCaps=DDSCAPS_OFFSCREENPLAIN;ddsd.dwWidth = 480;ddsd.dwHeight = 320;if (FAILED(m_pDDraw->CreateSurface(&ddsd,&m_pddsOffscreen,NULL))){AfxMessageBox(_T("创建离屏表面失败"));return FALSE;}//创建裁剪器if(FAILED(m_pDDraw->CreateClipper(0,&m_lpPalette,NULL))){AfxMessageBox(_T("创建裁剪器失败"));return FALSE;}if(FAILED(m_lpPalette->SetHWnd(0,this->m_hWnd))){AfxMessageBox(_T("创建裁剪器失败"));return FALSE;}if (FAILED(m_pddsPrimary->SetClipper(m_lpPalette))){AfxMessageBox(_T("创建裁剪器失败"));return FALSE;}
0 0
- DirectDraw学习笔记
- DirectDraw的学习笔记(1)
- DirectDraw的学习笔记(3)
- DirectDraw的学习笔记(4)
- DirectDraw的学习笔记(5)
- 学习directdraw
- DirectDraw 笔记1
- 学习DirectDraw日志
- DirectDraw学习总结
- 学习DirectSound~~~DirectDraw~~~中
- directdraw 学习总结
- DirectDraw学习:第一课
- DirectDraw
- DirectDraw
- DirectDraw 学习手记(一)
- [转]从头开始学习DirectDraw
- DirectDraw学习篇--GDI与DirectDraw的关系
- 视频播放器制作学习(DirectDraw DirectShow)
- android打包出错
- 网站性能优化,使用velocity实现页面静态化,实现实时更新静态页面
- 1、sso简介
- hadoop1.X集群环境的搭建
- 百度与谷歌地图坐标转换
- DirectDraw学习笔记
- discuz图片上传到100%后自动取消的解决方法
- 解决插件apk获取metaData
- JAVA项目如何使用日志文件
- linux shell flock文件锁用法,以及文件按行队列处理
- linux下www文件夹无法访问
- Qt之Tab键实现(自由切换焦点)—— 采用事件过滤器处理
- UIButton的titleEdgeInsets和imageEdgeInsets属性
- mysql-python安装时EnvironmentError: mysql_config not found