zoukankan      html  css  js  c++  java
  • OpenGL+MFC单文档图形绘制基本方法

    关于OpenGL在MFC单文档下绘制图形,自己在网上找了很久但是对找到的东西一直感觉不满意,最后在《OpenGL高级编程与可视化系统开发》一书中找到了相对比较满意的答案,但这段代码在网上暂时还没找到,所以就发到我的博客。

    本篇博文主要讲的是基本框架在下篇博文将给出具体函数代码: http://www.5dkx.com/arch/164.html

    理论依据:
    1)在单文档窗口的创建过程中,设置好显示的像素格式,并按OpenGL的要求设置好窗口的属性和风格。
    2)首先获得windows设备的描述表,然后将其与事先设置好的OpenGL绘制描述表连起来。
    3)调用OpenGL命令进行图形绘制
    4)退出OpenGL图形窗口时,释放OpenGL绘制的描述表RC和Windows设备描述表DC。
    具体在MFC单文档的编程步骤:
    eg.创建项目为5dkx.com
    1)为4dkx.comview类添加消息WM_CREATE、WM_DESTROY、WM_SIZE和WM_TIMER响应函数。
    2)在5dkx.comview.h中加入一下源代码
    ////////////////////////////////////////////////////
    //添加成员函数与成员变量
    BOOL RenderScene();
    BOOL SetupPixelFormat(void);
    void SetLogicalPalette(void);
    BOOL InitializeOpenGL(CDC* pDC);
    HGLRC m_hRC;//OpenGL绘制描述表
    HPALETTE m_hPalette;//OpenGL调色板
    CDC* m_pDC;//OpenGL设备描述表
    3)需要在5dkc.comview.cpp文件中修改和添加以下函数
    5dkx.comVeiw::preCreateWindow()
    5dkx.comVeiw::OnDraw()
    5dkx.comVeiw::OnCreate()
    5dkx.comVeiw::OnDestroy
    5dkx.comVeiw::OnSize()
    5dkx.comVeiw::OnTimer(UINT nIDEvent)
    需要添加的函数
    void 5dkx.comVeiw::SetLogiclPalette(void)
    BOOL 5dkx.comVeiw::InitializeOpenGL(CDC*pDC)
    BOOL 5dkx.comVeiw::SetupPixelFormat()
    BOOL 5dkx.comVeiw::RenderScene()

    首发:http://www.5dkx.com/arch/163.html

    非特别说明均为原创文章如转载,请注明:转载自 5D开心博客 [ http://www.5DKX.com/ ]

  • 相关阅读:
    在JS中如何去掉千分号
    JS中showModalDialog详细使用
    js里的insertCell和appendChild的区别
    js showModalDialog
    js中innerHTML,innerText,outerHTML的用法和区别
    MYSQL入门指导
    对拍程序C语言实现
    人性的弱点
    POJ3207(2SAT)
    期末考试时间安排
  • 原文地址:https://www.cnblogs.com/5dkx/p/1709864.html
Copyright © 2011-2022 走看看