📄 nehegl.h
字号:
/********************
* *
* NeHeGL Header *
* *
**********************************************************************************
* *
* You Need To Provide The Following Functions: *
* *
* BOOL Initialize (GL_Window* window, Keys* keys); *
* Performs All Your Initialization *
* Returns TRUE If Initialization Was Successful, FALSE If Not *
* 'window' Is A Parameter Used In Calls To NeHeGL *
* 'keys' Is A Structure Containing The Up/Down Status Of keys *
* *
* void Deinitialize (void); *
* Performs All Your DeInitialization *
* *
* void Update (float milliseconds); *
* Perform Motion Updates *
* 'milliseconds' Is The Number Of Milliseconds Passed Since The Last Call *
* With Whatever Accuracy GetTickCount() Provides When A High Resolution *
* Timer Is Not Available *
* *
* void Draw (void); *
* Perform All Your Scene Drawing *
* *
*********************************************************************************/
#ifndef GL_FRAMEWORK__INCLUDED
#define GL_FRAMEWORK__INCLUDED
#ifndef CDS_FULLSCREEN // CDS_FULLSCREEN Is Not Defined By Some
#define CDS_FULLSCREEN 4 // Compilers. By Defining It This Way,
#endif // We Can Avoid Errors
#include <windows.h> // Header File For Windows
typedef struct { // Structure For Keyboard Stuff
BOOL keyDown [256]; // Holds TRUE / FALSE For Each Key
} Keys; // Keys
typedef struct { // Contains Information Vital To Applications
HINSTANCE hInstance; // Application Instance
const char* className; // Application ClassName
} Application; // Application
typedef struct { // Window Creation Info
Application* application; // Application Structure
char* title; // Window Title
int width; // Width
int height; // Height
int bitsPerPixel; // Bits Per Pixel
BOOL isFullScreen; // FullScreen?
} GL_WindowInit; // GL_WindowInit
typedef struct { // Contains Information Vital To A Window
Keys* keys; // Key Structure
HWND hWnd; // Window Handle
HDC hDC; // Device Context
HGLRC hRC; // Rendering Context
GL_WindowInit init; // Window Init
BOOL isVisible; // Window Visible?
BOOL hrTimer; // High Resolution Timer Available?
DWORD lastTickCount; // Tick Counter
float timerResolution; // Timer Resolution
} GL_Window; // GL_Window
void TerminateApplication (GL_Window* window); // Terminate The Application
void ToggleFullscreen (GL_Window* window); // Toggle Fullscreen / Windowed Mode
// These Are The Function You Must Provide
BOOL Initialize (GL_Window* window, Keys* keys); // Performs All Your Initialization
void Deinitialize (void); // Performs All Your DeInitialization
void Update (float milliseconds); // Perform Motion Updates
void Draw (void); // Perform All Your Scene Drawing
#endif // GL_FRAMEWORK__INCLUDED
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -