第5章 动画.pptVIP

  • 3
  • 0
  • 约2.37万字
  • 约 95页
  • 2017-02-15 发布于北京
  • 举报
第5章 动画.ppt

标志dwFlags的常用取值 PFD_DRAW_TO_WINDOW PFD_DRAW_TO_BITMAP PFD_SUPPORT_GDI PFD_SUPPORT_OPENGL PFD_DOUBLEBUFFER PFD_SWAP_LAYER_BUFFERS 关联RC与DC的例子 PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), // 结构大小 1, // 版本号 PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER, PFD_TYPE_RGBA, // 像素类型 24, // 24b颜色 0, 0, 0, 0, 0, 0, // 颜色位数与偏移 0, 0, // α值位数与偏移 0, 0, 0, 0, 0, // 光栅缓存位数 32, // 32b深度缓存 0, 0, // 无图案缓存和辅助缓存 0, // 层类型(现已不使用) 0, // 保留 0, 0, 0 // 不支持掩膜 }; m_hDC = GetDC()-GetSafeHdc(); // 获取DC句柄 int nPixelFormat = ChoosePixelFormat(m_hDC, pfd); // 在DC支持的像素格式中选择与pfd最匹配的像素格式 SetPixelFormat(m_hDC, nPixelFormat, pfd); // 设置DC的像素格式 m_hRC = wglCreateContext(m_hDC); // 创建一个与DC匹配的RC wglMakeCurrent(m_hDC, m_hRC); // 设置调用线程的当前RC为m_hRC,将m_hRC与m_hDC关联在一起 8)例子 为了说明如何用VC开发OpenGL程序,我们看一个简单的例子: 建立一个SDI的MFC项目GL 在项目设置中添加对应的库文件:opengl32.lib glu32.lib glaux.lib 在视图类CGLView中包含OpenGL的头文件: #include gl/gl.h #include gl/glu.h #include gl/glaux.h 在视图类CGLView中定义类变量: HGLRC m_hRC; HDC m_hDC; 在视图类CGLView的PreCreateWindow函数中修改窗口的创建结构,以剪掉子窗口和兄弟窗口 (这是OpenGL所要求的) : BOOL CGLView::PreCreateWindow(CREATESTRUCT cs) { cs.style |= WS_CLIPSIBLINGS | WS_CLIPCHILDREN; return CView::PreCreateWindow(cs); } 在视图类CGLView中添加WM_CREATE的消息响应函数OnCreate,在该函数中初始化OpenGL: int CGLView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CView::OnCreate(lpCreateStruct) == -1) return -1; // TODO: Add your specialized creation code here PIXELFORMATDESCRIPTOR pfd = { sizeof(PIXELFORMATDESCRIPTOR), 1, PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL |PFD_DOUBLEBUFFER, PFD_TYPE_RGBA, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0 }; m_hDC = GetDC()-GetSafeHdc(); int nPixelFormat = ChoosePixelFormat(m_hDC, pfd); SetPixelFormat(m_hDC, nPixelFormat, pfd); m_hRC = wglCreateContext(m_hDC); wglMakeCurrent(m_hDC, m_hRC); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); // 设置背景为黑色 return 0; } 为了避免内存泄漏,在应用程序退出时,必须删除所创建的RC。这需要为视图类添加WM_DESTROY的消息响应函数OnDestroy: void CGLView::OnDestroy() {

文档评论(0)

1亿VIP精品文档

相关文档