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

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.

主站蜘蛛池模板: 平定县| 泰兴市| 大理市| 长春市| 徐汇区| 镇沅| 洪江市| 鱼台县| 乌鲁木齐县| 梁山县| 巩留县| 深泽县| 尼木县| 民勤县| 贞丰县| 子洲县| 西乌| 南涧| 常州市| 平顶山市| 洛川县| 中超| 威宁| 黄浦区| 滨海县| 衡水市| 丹凤县| 常山县| 阿拉善左旗| 齐河县| 通榆县| 精河县| 印江| 洪江市| 华阴市| 揭西县| 于田县| 嘉峪关市| 兖州市| 新余市| 杂多县|