官术网_书友最值得收藏!

Creating the application class

It would be difficult to maintain a cluttered window entry function. Instead, you need to create an abstract Application class. This class will contain some basic functions, such as Initialize, Update, Render, and Shutdown. All of the code samples provided for this book will be built on top of the Application base class.

Create a new file, Application.h. The declaration of the Application class is provided in the following code sample. Add this declaration to the newly created Application.h file:

#ifndef _H_APPLICATION_

#define _H_APPLICATION_

class Application {

private:

    Application(const Application&);

    Application& operator=(const Application&);

public:

    inline Application() { }

    inline virtual ~Application() { }

    inline virtual void Initialize() { }

    inline virtual void Update(float inDeltaTime) { }

    inline virtual void Render(float inAspectRatio) { }

    inline virtual void Shutdown() { }

};

#endif

The Initialize, Update, Render, and Shutdown functions are the life cycle of an application. All these functions will be called directly from the Win32 window code. Update and Render take arguments. To update a frame, the delta time between the current and last frame needs to be known. To render a frame, the aspect ratio of the window must be known.

The life cycle functions are virtual. Each chapter in the downloadable materials for this book has an example that is a subclass of the Application class that demonstrates a concept from that chapter.

Next, you will be adding an OpenGL loader to the project.

主站蜘蛛池模板: 惠州市| 旬邑县| 贞丰县| 简阳市| 宜阳县| 搜索| 泽普县| 石屏县| 威海市| 金门县| 镇康县| 杭锦后旗| 汉源县| 南宫市| 休宁县| 宾川县| 孝昌县| 泽普县| 苏尼特左旗| 酒泉市| 平邑县| 江安县| 澎湖县| 来安县| 富平县| 屏东市| 康定县| 边坝县| 康马县| 绥德县| 洛扎县| 即墨市| 舞阳县| 方正县| 罗源县| 祁门县| 天水市| 略阳县| 淮阳县| 桃园市| 筠连县|