MFC中运行OSG

今天学了一下在mfc单文档下运行osg.
在osg源码中examples目录有个osgviewerMFC项目,
包括sdi和mdi的示例代码。
1.新建sdi单文档mfc项目:mfcOsg。
配置osg参考:
2.把examples目录中的MFC_OSG.h和MFC_OSG.cpp复制到项目目录中。
字符集修改为:使用多字节字符集
这时候编译通过。
3.在stdafx.h中添加#include <process.h>
在view头文件中引入#include "MFC_OSG.h"
同时加两个public变量。
cOSG *m_OSG;
HANDLE m_ThreadHandle;
4.响应OnCreate消息,重写OnInitialUpdate函数。
int CmfcOsgView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CView::OnCreate(lpCreateStruct) == -1)
        return -1;

    // TODO:  在此添加您专用的创建代码
    m_OSG = new cOSG(m_hWnd);
    return 0;
}

void CmfcOsgView::OnInitialUpdate()
{
    CView::OnInitialUpdate();

    // TODO: 在此添加专用代码和/或调用基类
    m_OSG->InitOSG("cessna.osg");
    m_ThreadHandle = (HANDLE)_beginthread(&cOSG::Render,0,m_OSG);
}
运行结果:
posted @ 2012-09-21 20:14  大气象  阅读(5357)  评论(1编辑  收藏  举报
http://www.tianqiweiqi.com