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/ ]

转载于:https://www.cnblogs.com/5dkx/archive/2010/04/11/1709864.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值