Browse Source

square

feature/replace-renderer
Martin Dørum 3 years ago
parent
commit
df17ae71a0

+ 1
- 0
libcygnet/include/cygnet/Renderer.h View File

@@ -19,6 +19,7 @@ struct RenderChunk {

struct RenderCamera {
SwanCommon::Vec2 pos;
SwanCommon::Vec2i size;
float zoom;
};


+ 2
- 0
libcygnet/include/cygnet/Window.h View File

@@ -1,5 +1,6 @@
#pragma once

#include <swan-common/Vector2.h>
#include <memory>

namespace Cygnet {
@@ -15,6 +16,7 @@ public:
void clear();
void flip();
void onResize(int w, int h);
SwanCommon::Vec2i size() { return { w_, h_ }; }

private:
std::unique_ptr<WindowState> state_;

+ 1
- 1
libcygnet/src/Renderer.cc View File

@@ -152,7 +152,7 @@ Renderer::~Renderer() = default;
void Renderer::draw(const RenderCamera &cam) {
Mat3gf camMat;
camMat.translate(cam.pos.scale(-1, 1) * cam.zoom); // TODO: Change something to make this -cam.pos
camMat.scale({ cam.zoom, cam.zoom });
camMat.scale({ cam.zoom * ((float)cam.size.y / (float)cam.size.x), cam.zoom });
auto &chunkProg = state_->chunkProg;

chunkProg.enable();

+ 2
- 0
src/cygnet-test.cc View File

@@ -50,6 +50,7 @@ int main() {

Cygnet::RenderCamera cam = {
.pos = { 0, 0 },
.size = win.size(),
.zoom = 1,
};

@@ -84,6 +85,7 @@ int main() {
switch (evt.window.event) {
case SDL_WINDOWEVENT_SIZE_CHANGED:
win.onResize(evt.window.data1, evt.window.data2);
cam.size = win.size();
break;
}
break;

Loading…
Cancel
Save