Added camera operations and better input handling
This commit is contained in:
@@ -8,6 +8,7 @@ DarkRP2D::~DarkRP2D() {
|
||||
delete assets;
|
||||
delete obj;
|
||||
delete inputHandler;
|
||||
delete camera;
|
||||
}
|
||||
|
||||
void DarkRP2D::create () {
|
||||
@@ -32,17 +33,19 @@ void DarkRP2D::create () {
|
||||
inputHandler = new InputHandler();
|
||||
font = new BitmapFont("arial.ttf");
|
||||
|
||||
camera = new OrtographicCamera();
|
||||
|
||||
glClearColor(1.f,1.f,1.f,1.f);
|
||||
}
|
||||
|
||||
void DarkRP2D::loop(SDL_Event *event, unsigned int delta) {
|
||||
void DarkRP2D::loop(unsigned int delta) {
|
||||
static unsigned int accumulator = 0, ups = 0, fps = 0, acc = 0;
|
||||
accumulator += delta;
|
||||
acc += delta;
|
||||
|
||||
while(accumulator >= 17) {
|
||||
accumulator -= 17;
|
||||
update(event, delta);
|
||||
update(delta);
|
||||
ups++;
|
||||
}
|
||||
|
||||
@@ -56,8 +59,16 @@ void DarkRP2D::loop(SDL_Event *event, unsigned int delta) {
|
||||
fps++;
|
||||
}
|
||||
|
||||
void DarkRP2D::update(SDL_Event *event, unsigned int delta) {
|
||||
inputHandler->handleInput(event);
|
||||
void DarkRP2D::update(unsigned int delta) {
|
||||
SDL_Event event;
|
||||
while(SDL_PollEvent(&event) != 0) {
|
||||
Command* command = inputHandler->handleInput(&event);
|
||||
if (command) {
|
||||
command->execute();
|
||||
}
|
||||
}
|
||||
|
||||
//camera update
|
||||
}
|
||||
|
||||
void DarkRP2D::render(unsigned int delta) {
|
||||
@@ -65,10 +76,11 @@ void DarkRP2D::render(unsigned int delta) {
|
||||
|
||||
//Drawing
|
||||
Shader defaultShader = assets->getShader("defaultShader");
|
||||
defaultShader.Use();
|
||||
//Draw Triangle
|
||||
defaultShader.SetMatrix4("view",camera->getViewMatrix(),true);
|
||||
defaultShader.SetMatrix4("projection",camera->getProjectionMatrix(),true);
|
||||
//Draw Mesh
|
||||
obj->draw();
|
||||
|
||||
|
||||
//texttest
|
||||
Shader bitmapShader = assets->getShader("bitmapShader");
|
||||
font->drawText(bitmapShader, "Hallo du noob", 25.0f, 25.0f, 1.f, glm::vec3(0.5f,0.8f,0.2f));
|
||||
|
||||
Reference in New Issue
Block a user