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

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.

主站蜘蛛池模板: 嘉义县| 黎平县| 茌平县| 新龙县| 东丽区| 晋江市| 岳阳市| 吴堡县| 舞阳县| 公安县| 桓台县| 杨浦区| 桐城市| 北安市| 道真| 道真| 象州县| 古田县| 沙雅县| 浦县| 凤城市| 盐山县| 安宁市| 扶余县| 湄潭县| 海城市| 邻水| 葫芦岛市| 武冈市| 承德市| 丹江口市| 门头沟区| 竹山县| 忻州市| 察隅县| 榆社县| 惠东县| 古浪县| 宣武区| 昌邑市| 会理县|