应用MFC框架显示OSG
2012-11-08 21:25
429 查看
应用MFC框架显示OSG
Osg/Example/osgviewerMFC里的MFC_OSG框架:
class cOSG
{
public:
cOSG(HWND hWnd);
~cOSG();
void InitOSG(std::string filename); //初始化OSG,filename为要加入的模型文件
void InitManipulators(void); //初始化操作器
void InitSceneGraph(void); //初始化场景
void InitCameraConfig(void); //相机配置
void SetupWindow(void); //建立窗口
void SetupCamera(void); //建立相机
void PreFrameUpdate(void); //绘制前处理
void PostFrameUpdate(void); //绘制后处理
void Done(bool value) { mDone = value; } //setDone
bool Done(void) { return mDone; } //getDone
static void Render(void* ptr); //渲染,可启用为全局线程
osgViewer::Viewer* getViewer() { return mViewer; } //getViewer
private:
bool mDone; //Done
std::string m_ModelName; //模型名
HWND m_hWnd; //窗口句柄
osgViewer::Viewer* mViewer; //viewer
osg::ref_ptr<osg::Group> mRoot; //场景根节点
osg::ref_ptr<osg::Node> mModel; //场景模型文件
osg::ref_ptr<osgGA::TrackballManipulator> trackball; //trackball操作器
osg::ref_ptr<osgGA::KeySwitchMatrixManipulator> keyswitchManipulator; //加入KeySwitch选择操作器
};
将osgviewer显示于MFC的View
1,创建MFC应用程序工程
2,在OSG源代码的example里选出osgviewerMFC工程里的MFC_OSG.h和MFC_OSG.cpp导入到我们的工程里。
3,在stdafx.h里添加 #include <process.h>
在View类里添加
并在View类里添加消息响应:OnCreate()消息,
并overrides里重写OnInitialUpdate(),如下:
4,添加OSG库和动态链接
5,编译,运行后如下:
Osg/Example/osgviewerMFC里的MFC_OSG框架:
class cOSG
{
public:
cOSG(HWND hWnd);
~cOSG();
void InitOSG(std::string filename); //初始化OSG,filename为要加入的模型文件
void InitManipulators(void); //初始化操作器
void InitSceneGraph(void); //初始化场景
void InitCameraConfig(void); //相机配置
void SetupWindow(void); //建立窗口
void SetupCamera(void); //建立相机
void PreFrameUpdate(void); //绘制前处理
void PostFrameUpdate(void); //绘制后处理
void Done(bool value) { mDone = value; } //setDone
bool Done(void) { return mDone; } //getDone
static void Render(void* ptr); //渲染,可启用为全局线程
osgViewer::Viewer* getViewer() { return mViewer; } //getViewer
private:
bool mDone; //Done
std::string m_ModelName; //模型名
HWND m_hWnd; //窗口句柄
osgViewer::Viewer* mViewer; //viewer
osg::ref_ptr<osg::Group> mRoot; //场景根节点
osg::ref_ptr<osg::Node> mModel; //场景模型文件
osg::ref_ptr<osgGA::TrackballManipulator> trackball; //trackball操作器
osg::ref_ptr<osgGA::KeySwitchMatrixManipulator> keyswitchManipulator; //加入KeySwitch选择操作器
};
将osgviewer显示于MFC的View
1,创建MFC应用程序工程
2,在OSG源代码的example里选出osgviewerMFC工程里的MFC_OSG.h和MFC_OSG.cpp导入到我们的工程里。
3,在stdafx.h里添加 #include <process.h>
在View类里添加
并在View类里添加消息响应:OnCreate()消息,
并overrides里重写OnInitialUpdate(),如下:
4,添加OSG库和动态链接
5,编译,运行后如下:
相关文章推荐
- MFC框架中视图窗口全屏显示
- mfc应用窗口最大化显示
- MFC 应用、模板、框架、文档、视图 的关系
- osg MFC 读取文件显示 的例子osgviewerMFC
- Phinecos(洞庭散人) 专注于开源技术的研究与应用 Nehe的OpenGL框架(MFC版)
- MFC应用---利用CxImage显示图片
- MFC框架中视图窗口全屏显示
- Win32++:可替代MFC的Windows桌面应用开发框架
- MFC MDI项目如何一个文档显示多个不同视图类(比如文字和图表,各自拥有单独的框架窗口)
- 在MFC框架下使用osg报内存泄露的解决办法
- Win32++:可替代MFC的Windows桌面应用开发框架
- MFC应用框架小常识
- 【框架-MFC】MFC 显示和隐藏 星号密码 以及如何预防被查看
- MFC窗口系统下的OSG简单框架
- MFC框架程序中全屏显示特性的实现
- 在MFC框架下使用osg报内存泄露的解决办法
- 用MFC构造DirectX应用框架 ( 转载)
- 在MFC应用框架下运行状态机
- Win32++:可替代MFC的Windows桌面应用开发框架
- 以模态的形式显示应用到文档/视图框架结构实例