Progress
This commit is contained in:
@ -54,6 +54,8 @@ void RenderHost::init(std::shared_ptr<Game> game) {
|
||||
assertNoGLError();
|
||||
|
||||
// Get the resolution and scale/dpi
|
||||
backBufferRenderTarget = std::make_shared<BackBufferRenderTarget>();
|
||||
|
||||
int32_t fbWidth, fbHeight;
|
||||
int32_t windowWidth, windowHeight;
|
||||
glfwGetFramebufferSize(window, &fbWidth, &fbHeight);
|
||||
@ -64,6 +66,9 @@ void RenderHost::init(std::shared_ptr<Game> game) {
|
||||
assertTrue(windowWidth > 0, "Detected window width is too small?");
|
||||
assertTrue(windowHeight > 0, "Detected window height is too small?");
|
||||
|
||||
backBufferRenderTarget->setSize(fbWidth, fbHeight);
|
||||
backBufferRenderTarget->scale = (float_t)fbWidth / (float_t)windowWidth;
|
||||
|
||||
// Framebuffer callback
|
||||
// glfwSetFramebufferSizeCallback(window, [&](
|
||||
// GLFWwindow *window,
|
||||
@ -88,6 +93,10 @@ bool_t RenderHost::isCloseRequested() {
|
||||
return glfwWindowShouldClose(this->window);
|
||||
}
|
||||
|
||||
std::shared_ptr<RenderTarget> RenderHost::getBackBufferRenderTarget() {
|
||||
return std::static_pointer_cast<RenderTarget>(backBufferRenderTarget);
|
||||
}
|
||||
|
||||
RenderHost::~RenderHost() {
|
||||
if(this->window != nullptr) {
|
||||
glfwDestroyWindow(this->window);
|
||||
|
@ -5,6 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
#include "display/IRenderHost.hpp"
|
||||
#include "display/BackBufferRenderTarget.hpp"
|
||||
#include <glad/glad.h>
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
@ -16,6 +17,7 @@ namespace Dawn {
|
||||
|
||||
class RenderHost : public IRenderHost {
|
||||
public:
|
||||
std::shared_ptr<BackBufferRenderTarget> backBufferRenderTarget;
|
||||
GLFWwindow *window = nullptr;
|
||||
|
||||
/**
|
||||
@ -24,10 +26,9 @@ namespace Dawn {
|
||||
RenderHost();
|
||||
|
||||
void init(std::shared_ptr<Game> game) override;
|
||||
|
||||
void update() override;
|
||||
|
||||
bool_t isCloseRequested() override;
|
||||
std::shared_ptr<RenderTarget> getBackBufferRenderTarget() override;
|
||||
|
||||
~RenderHost();
|
||||
};
|
||||
|
Reference in New Issue
Block a user