我的github

 视频教程:https://www.bilibili.com/video/BV1t54y1W7YG

2.1 Stranded_01

StrandedEngine游戏引擎概览。

2.2 Stranded_02

初始化引擎函数

关闭引擎函数

初始化游戏函数

关闭游戏函数

winMain入口函数->初始化引擎函数->初始化游戏函数->显示窗口->loop循环(msg!=WIN_QUIT)

2.3 Stranded_03

新建文件:D3DRenderer.h、RenderInterface.h、engine.h、defines.h

RenderInterface->D3DRenderer。。

定义几个类的文件和相互的继承关系。。

2.4 Stranded_4

  填写接口CRenderInterface初始化:构造函数,成员变量,析构函数。。

#ifndef _UGP_RENDERINTERFACE_H_
#define _UGP_RENDERINTERFACE_H_

#include "defines.h";

class CRenderInterface
{
public:
    CRenderInterface():m_screenWidth(0),m_screenHeight(0),m_near(0),m_far(0){}
    virtual ~CRenderInterface(){}
    //virtual bool Initialize(int w, int h, WinHWND mainWin, bool fullScreen) = 0;
protected:
    int m_screenWidth;
    int m_screenHeight;
    bool m_fullscreen;
    WinHWND m_mainHandle;
    float m_near;
    float m_far;
};
#endif

2.5 Stranded_5

CreateD3DRenderer()、Initialize()、OneTimeInit()、CalculateProjMatrix()、CalculateOrthoMatrix()

最重要的两个参数初始化:窗口句柄和游戏设备。

 2.6 Stranded_6

SetClearCol()、StartRender()、EndRendering()、ClearBuffers()

 2.7 Stranded_7

CreateStaticBuffer()、Shutdown()

2.8 Stranded_8

Render()

3. 光照

4. 纹理

三维模型和纹理坐标的坐标映射关系:

 

posted on 2023-06-05 00:05  XiaoNiuFeiTian  阅读(96)  评论(0编辑  收藏  举报