- 4
- 0
- 约6.83千字
- 约 7页
- 2016-10-18 发布于重庆
- 举报
天龍八部制作教程
天龙八部制作教程及源码第一辑
一步一步来吧...
把OGRE嵌入到MFC里面,并实现了OIS缓冲输入和鼠标显示,看图:
具体实现方法:
一 最好抛弃示例框架,实现一个自己的框架,因为有些东西需要修改,有些东西要自己实现,我自己写了一个框架demo来嵌入MFC,看简洁不少
// 我的帧监听类class MyFrameListener : public FrameListener, public OIS::MouseListener, public OIS::KeyListener{public:
MyFrameListener(OgreDemo* app, HWND hMainWnd); ~MyFrameListener(); bool frameStarted(const FrameEvent evt);
bool mouseMoved(const OIS::MouseEvent e); bool mousePressed(const OIS::MouseEvent e, OIS::MouseButtonID id); bool mouseReleased(const OIS::MouseEvent e, OIS::MouseButtonID id); bool keyPressed(const OIS::KeyEvent e); bool keyReleased(const OIS::KeyEvent e);
protected: SceneManager *mSceneMgr; SceneNode* mCamNode;
OIS::Keyboard* mKeyboard; OIS::Mouse* mMouse; OIS::InputManager* mInputManager;
Real mRotate; // 旋转常量 Real mMove; // 运动常量 bool mContinue; // 是否要继续渲染 Vector3 mDirection; // 指向正确的移动方向};
class OgreDemo{public: OgreDemo():mRoot(0), mWindow(0), mListener(0), mCamera(0), mSceneMgr(0),mCamNode(0) { } ~OgreDemo();
void setup(HWND m_hWnd, int width, int height, HWND hMainWnd);
// 获得成员变量 Root* getRoot(void) const {return mRoot;} Camera* getCamera(void) const {return mCamera;} SceneNode* getCamNode(void) const {return mCamNode;} SceneManager* getSceneManager(void) const {return mSceneMgr;} RenderWindow* getRenderWindow(void) const {return mWindow;}
private: Root* mRoot; RenderWindow* mWindow; SceneManager* mSceneMgr; Camera* mCamera; SceneNode* mCamNode; MyFrameListener* mListener;
void createRoot(); void defineResources(); void setupRenderSystem(); void createRenderWindow(HWND m_hWnd, int width, int height); void initializeResourceGroups(); void setupScene(); void createFrameListener(HWND hMainWnd);};
二, 具体过程分析
首先,因为用MFC打开,我们要去掉弹出的配置框,自己把渲染系统参数设置好:
void OgreDemo::setupRenderSystem(){
// 自己设置 RenderSystem *rs = mRoot-getRenderSystemByName(Direct3D9 Renderi
您可能关注的文档
- 天易成網管软件教程.docx
- 天正建筑85安裝教程.doc
- 天正建筑日照分析精簡版教程.doc
- 天正日照分析專业教程.doc
- 天正結构教程.doc
- 天氣和气候教案.doc
- 天氣和气温教案(面面).doc
- 天正里加入打印樣式表教程.doc
- 天氣与气候教案.doc
- 天氣系统水循环洋流教案.docx
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
原创力文档

文档评论(0)