ogre嵌入MFC教程

本文档介绍如何在VS2008中创建一个基于MFC SDI程序并嵌入OGRE渲染引擎。首先创建MFC应用程序,然后通过继承CFormView创建OgreControl类。虽然可以选择创建多视图文档,但本教程专注于单视图。最后,修改View的头文件和源文件以实现OGRE的嵌入。提供了几个参考链接以供进一步学习。
摘要由CSDN通过智能技术生成


由于实验室项目的需要,要学习ogre嵌入MFC,在这里把我从小白到实现的过程写下来给大家分享。

首先声明一下,在这里我建的是基于单文档的ogre嵌入MFC,多文档的并没有研究,后面有时间实现了再拿来分享。

配置环境:VS2008+ogre1.6.5

第一步:

创建一个MFC SDI程序(之前并没有学过MFC,最近才开始看,这一部分也是参考网上的教程,具体哪位大侠的博客忘记了,抱歉~)

1.新建项目,MFC应用程序。
2.MFC应用程序向导设置如下图:


3.生成的类设置如下:


4.至此,一个MFC SDI程序创建完成,编译运行,可以得到一个空窗口视图。


    如果上一步选择基类为CFormView,那么可以进一步创建一个继承    
       CFormView的类,可以命名为OgreControl,用来放置一些控件来
       和Ogre的渲染窗口进行交互。
     
        在工程名上右键->添加->类->MFC类->添加,类名OgreControl,基  
        类为 CFormView,完成。如下图:

5.


6.至此第一步完成。

第二步 分割窗口(暂时跳过)

这一步可以暂时不用,可以在掌握Ogre和MFC之后进行进一步的学习和练习使用。
本例子创建单视图文档。

第三步 Ogre嵌入MFC

这一步主要修改对应View的.h和.cpp文件。
1.OgreMFCView.h的代码如下:

// OgreMFCView.h : COgreMFCView 类的接口  
//  
 
 
#pragma once  
  
//添加的代码  
#include "ogre.h"  
#include "OgreConfigFile.h"  
using namespace Ogre;  
  
  
class COgreMFCView : public CView  
{  
protected: // 仅从序列化创建  
    COgreMFCView();  
    DECLARE_DYNCREATE(COgreMFCView)  
  
// 属性  
public:  
    COgreMFCDoc* GetDocument() const;  
  
// 操作  
public:  
  
// 重写  
public:  
    virtual void OnDraw(CDC* pDC);  // 重写以绘制该视图  
    virtual BOOL PreCreateWindow(CREATESTRUCT& cs);  
protected:  
    virtual BOOL OnPreparePrinting(CPrintInfo* pInfo);  
    virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo);  
    virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo);  
  
    void setupResources();//添加的代码  
// 实现  
public:  
    virtual ~COgreMFCView();  
#ifdef _DEBUG  
    virtual void AssertValid() const;  
    virtual void Dump(CDumpContext& dc) const;  
#endif  
  
protected
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值