[Add] Added main game methods.

This commit is contained in:
Rtch90 2012-04-05 23:27:21 +01:00
parent cc066dbaca
commit 087db447e5
3 changed files with 83 additions and 1 deletions

View File

@ -236,3 +236,4 @@ float GLWindow::GetElapsedSeconds(void) {
_lastTime = currentTime; _lastTime = currentTime;
return float(diff) / 1000.0f); return float(diff) / 1000.0f);
} }

View File

@ -0,0 +1,64 @@
#ifdef _WIN32_
#include <windows.h>
#endif
#include <GL/gl.h>
#include <GL/glu.h>
#include "Game.h"
Game::Game(void) {
_rotationAngle = 0.0f;
}
Game::~Game(void) {
}
bool Game::Init(void) {
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LEQUAL);
// Return success.
return true;
}
void Game::Prepare(float dt) {
const float SPEED = 15.0f;
_rotationAngle += SPEED*dt;
if(_rotationAngle > 360.0f) {
_rotationAngle -= 360.0f;
}
}
void Game::Render(void) {
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glRotatef(_rotationAngle, 0, 0, 1);
glBegin(GL_TRIANGLES);
glColor4f(1.0f, 0.0f, 0.0f, 1.0f);
glVertex3f(-1.0f, -0.5f, -4.0f);
glColor4f(1.0f, 1.0f, 0.0f, 1.0f);
glVertex3f(1.0f, -0.5f, -4.0f);
glColor4f(0.0f, 0.0f, 1.0f, 1.0f);
glVertex3f(0.0f, 0.5f, -4.0f);
glEnd();
}
void Game::Shutdown(void) {
}
void Game::OnResize(int width, int height) {
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, float(width) / float(height), 1.0f, 100.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

View File

@ -0,0 +1,17 @@
#pragma once
class Game {
public:
Game(void);
~Game(void);
bool Init(void);
void Prepare(float dt);
void Render(void);
void Shutdown(void);
void OnResize(int width, int height);
private:
float _rotationAngle;
};