www.pudn.com > Map.GL.FPS.zip > main.h


#ifndef _MAIN_H 
#define _MAIN_H 
 
#include  
#include  
#include  
#include 										// Header File For The OpenGL32 Library 
#include 										// Header File For The GLu32 Library 
#include 							 
 
/////// * /////////// * /////////// * NEW * /////// * /////////// * /////////// * 
 
#include "Terrain.h"									// Include our header file for our Terrain.cpp 
							 
 
// This is our basic 3D point/vector class 
struct CVector3 
{ 
public: 
	 
	// A default constructor 
	CVector3() {} 
 
	// This is our constructor that allows us to initialize our data upon creating an instance 
	CVector3(float X, float Y, float Z)  
	{  
		x = X; y = Y; z = Z; 
	} 
 
	// Here we overload the + operator so we can add vectors together  
	CVector3 operator+(CVector3 vVector) 
	{ 
		// Return the added vectors result. 
		return CVector3(vVector.x + x, vVector.y + y, vVector.z + z); 
	} 
 
	// Here we overload the - operator so we can subtract vectors  
	CVector3 operator-(CVector3 vVector) 
	{ 
		// Return the subtracted vectors result 
		return CVector3(x - vVector.x, y - vVector.y, z - vVector.z); 
	} 
	 
	// Here we overload the * operator so we can multiply by scalars 
	CVector3 operator*(float num) 
	{ 
		// Return the scaled vector 
		return CVector3(x * num, y * num, z * num); 
	} 
 
	// Here we overload the / operator so we can divide by a scalar 
	CVector3 operator/(float num) 
	{ 
		// Return the scale vector 
		return CVector3(x / num, y / num, z / num); 
	} 
 
	float x, y, z;						 
}; 
 
/////// * /////////// * /////////// * NEW * /////// * /////////// * /////////// * 
 
 
#define SCREEN_WIDTH 800								// We want our screen width 800 pixels 
#define SCREEN_HEIGHT 600								// We want our screen height 600 pixels 
#define SCREEN_DEPTH 16									// We want 16 bits per pixel 
 
extern bool  g_bFullScreen;								// Set full screen as default 
extern HWND  g_hWnd;									// This is the handle for the window 
extern RECT  g_rRect;									// This holds the window dimensions 
extern HDC   g_hDC;										// General HDC - (handle to device context) 
extern HGLRC g_hRC;										// General OpenGL_DC - Our Rendering Context for OpenGL 
extern HINSTANCE g_hInstance;							// This holds our window hInstance 
 
 
// This is our MAIN() for windows 
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hprev, PSTR cmdline, int ishow); 
 
// The window proc which handles all of window's messages. 
LRESULT CALLBACK WinProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); 
 
// This controls our main program loop 
WPARAM MainLoop(); 
 
// This changes the screen to full screen mode 
void ChangeToFullScreen(); 
 
// This is our own function that makes creating a window modular and easy 
HWND CreateMyWindow(LPSTR strWindowName, int width, int height, DWORD dwStyle, bool bFullScreen, HINSTANCE hInstance); 
 
// This allows us to configure our window for OpenGL and backbuffered 
bool bSetupPixelFormat(HDC hdc); 
 
// This inits our screen translations and projections 
void SizeOpenGLScreen(int width, int height); 
 
// This sets up OpenGL 
void InitializeOpenGL(int width, int height); 
 
// This initializes the whole program 
void Init(HWND hWnd); 
 
// This draws everything to the screen 
void RenderScene(); 
 
// This frees all our memory in our program 
void DeInit(); 
 
 
#endif  
 
 
///////////////////////////////////////////////////////////////////////////////// 
// 
// * QUICK NOTES *  
// 
// We added the CVector3 class to this file so we could use the camera class. 
// We also include "Terrain.h". 
// 
//   
// Ben Humphrey (DigiBen) 
// Game Programmer 
// DigiBen@GameTutorials.com 
// Co-Web Host of www.GameTutorials.com 
// 
//