batch rendering
This commit is contained in:
@@ -10,10 +10,9 @@
|
||||
|
||||
#include <open_engine.hpp>
|
||||
|
||||
#include "shmup.hpp"
|
||||
#include <glm/ext/matrix_clip_space.hpp>
|
||||
#include "freetype/fttypes.h"
|
||||
#include "open_engine/ref_scope.hpp"
|
||||
#include "shmup.hpp"
|
||||
#include <freetype2/ft2build.h>
|
||||
#include FT_FREETYPE_H
|
||||
#include <glad/glad.h>
|
||||
|
||||
@@ -51,9 +51,9 @@ class Sandbox2DLayer : public OpenEngine::Layer
|
||||
}
|
||||
{
|
||||
OE_PROFILE_SCOPE("Drawing Quads");
|
||||
OpenEngine::Transform tr1 = {glm::vec3(0.5f, 0.5f, 1.0f), glm::vec3(0.3f), 20.0f};
|
||||
OpenEngine::Transform tr2 = {glm::vec3(-0.2f, -0.2f, 1.0f), glm::vec3(0.5f, 0.2f, 1.0f), 10.0f};
|
||||
OpenEngine::Transform tr3 = {glm::vec3(0.0f, 0.0f, -0.1f), glm::vec3(1.0f, 1.0f, 1.0f), 45.0f};
|
||||
OpenEngine::Transform tr1 = {glm::vec3(0.5f, 0.5f, -0.2f), glm::vec3(0.3f), 20.0f};
|
||||
OpenEngine::Transform tr2 = {glm::vec3(-0.2f, -0.2f, -0.1f), glm::vec3(0.5f, 0.2f, 1.0f), 10.0f};
|
||||
OpenEngine::Transform tr3 = {glm::vec3(0.0f, 0.0f, 0.1f), glm::vec3(1.0f, 1.0f, 1.0f), 45.0f};
|
||||
|
||||
OpenEngine::Renderer2D::DrawQuad({glm::vec3(0.5f, 0.5f, 1.0f), glm::vec3(0.3f), 20.0f}, glm::vec4(color[0], color[1], color[2], color[3]));
|
||||
OpenEngine::Renderer2D::DrawQuad(tr2, {0.5f, 0.3f, 0.8f, 1.0f});
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#ifndef SHMUP_HPP
|
||||
#define SHMUP_HPP
|
||||
|
||||
#include <GL/gl.h>
|
||||
#include <open_engine.hpp>
|
||||
|
||||
#include <fstream>
|
||||
@@ -101,9 +102,11 @@ class Shmup : public OpenEngine::Layer
|
||||
double delta = OpenEngine::Time::DeltaTime();
|
||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Right) {
|
||||
tr1.position.x += 0.1f;
|
||||
return true;
|
||||
}
|
||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Left) {
|
||||
tr1.position.x -= 0.1f;
|
||||
return true;
|
||||
}
|
||||
|
||||
if (tr1.position.y <= -0.9)
|
||||
@@ -114,9 +117,9 @@ class Shmup : public OpenEngine::Layer
|
||||
tr1.position.x = -0.8;
|
||||
if (tr1.position.x >= 0.8)
|
||||
tr1.position.x = 0.8;
|
||||
|
||||
}
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void MoveEntities(double time_step) {
|
||||
@@ -190,7 +193,8 @@ class Shmup : public OpenEngine::Layer
|
||||
OE_PROFILE_FUNCTION()
|
||||
{
|
||||
OE_PROFILE_SCOPE("Setting up Rendering");
|
||||
OpenEngine::RenderCommand::SetClearColor({0.11f, 0.11f, 0.15f, 1.0f});
|
||||
//OpenEngine::RenderCommand::SetClearColor({0.11f, 0.11f, 0.15f, 1.0f});
|
||||
OpenEngine::RenderCommand::SetClearColor({1.0f, 0.11f, 0.15f, 1.0f});
|
||||
OpenEngine::RenderCommand::Clear();
|
||||
OpenEngine::Renderer2D::BeginScene(camera.GetCamera());
|
||||
}
|
||||
@@ -311,9 +315,11 @@ class Shmup : public OpenEngine::Layer
|
||||
{
|
||||
if (event.GetKeyCode() == OpenEngine::KeyCode::Space) {
|
||||
shooting = true;
|
||||
return true;
|
||||
}
|
||||
if (state == GameState::GameOver && event.GetKeyCode() == OpenEngine::KeyCode::Enter) {
|
||||
Reset();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
@@ -330,10 +336,11 @@ class Shmup : public OpenEngine::Layer
|
||||
void OnEvent(OpenEngine::Event& event) override
|
||||
{
|
||||
OE_PROFILE_FUNCTION();
|
||||
|
||||
OpenEngine::EventDispatcher dispatcher(event);
|
||||
|
||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Shmup::ProcessKeyPressedEvents));
|
||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Shmup::MovePlayerShipDiscrete));
|
||||
dispatcher.Dispatch<OpenEngine::KeyPressedEvent>(BIND_EVENT_FN(Shmup::ProcessKeyPressedEvents));
|
||||
dispatcher.Dispatch<OpenEngine::KeyReleasedEvent>(BIND_EVENT_FN(Shmup::ProcessKeyReleased));
|
||||
{
|
||||
OE_PROFILE_SCOPE("Camera OnEvent");
|
||||
|
||||
@@ -60,7 +60,7 @@ bool ControlLayer::StopRunning(OpenEngine::KeyPressedEvent& event)
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
#include "open_engine/ref_scope.hpp"
|
||||
#include <memory>
|
||||
#include <sandbox2d.hpp>
|
||||
#include <sandbox.hpp>
|
||||
@@ -11,16 +10,16 @@
|
||||
|
||||
Sandbox::Sandbox()
|
||||
{
|
||||
//OpenEngine::Ref<Sandbox2DLayer> initial_layer = std::make_shared<Sandbox2DLayer>();
|
||||
OpenEngine::Ref<OpenEngine::Layer> shmup = OpenEngine::CreateRef<Shmup>();
|
||||
OpenEngine::Ref<Sandbox2DLayer> initial_layer = std::make_shared<Sandbox2DLayer>();
|
||||
//OpenEngine::Ref<Shmup> initial_layer = OpenEngine::CreateRef<Shmup>();
|
||||
//OpenEngine::Ref<Overlay> overlay = OpenEngine::CreateRef<Overlay>(shmup);
|
||||
//OpenEngine::Ref<Overlay> overlay = OpenEngine::CreateRef<Overlay>(initial_layer);
|
||||
OpenEngine::Ref<OpenEngine::Layer> control_layer = std::make_shared<ControlLayer>(shmup);
|
||||
OpenEngine::Ref<OpenEngine::Layer> control_layer = std::make_shared<ControlLayer>(initial_layer);
|
||||
//OpenEngine::Ref<ControlLayer> control_layer = std::make_shared<ControlLayer>();
|
||||
OpenEngine::Ref<OpenEngine::Layer> modding_layer = std::make_shared<Modding>();
|
||||
|
||||
QueueLayerPush(shmup);
|
||||
//QueueLayerPush(initial_layer);
|
||||
//QueueLayerPush(shmup);
|
||||
QueueLayerPush(initial_layer);
|
||||
QueueLayerPush(control_layer);
|
||||
QueueLayerPush(modding_layer);
|
||||
//QueueOverlayPush(overlay);
|
||||
|
||||
Reference in New Issue
Block a user