Browse Source

take frame height into account

feature/replace-renderer
Martin Dørum 3 years ago
parent
commit
e40491730e
2 changed files with 9 additions and 2 deletions
  1. 1
    0
      libcygnet/include/cygnet/Renderer.h
  2. 8
    2
      libcygnet/src/Renderer.cc

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

@@ -51,6 +51,7 @@ public:
void destroyChunk(RenderChunk chunk);

RenderSprite createSprite(void *data, int width, int height);
RenderSprite createSprite(void *data, int width, int height, int fh);
void destroySprite(RenderSprite sprite);

private:

+ 8
- 2
libcygnet/src/Renderer.cc View File

@@ -182,6 +182,8 @@ void Renderer::draw(const RenderCamera &cam) {

glActiveTexture(GL_TEXTURE0);
for (auto [mat, y, sprite]: draw_sprites_) {
// TODO: Handle 'y' here

mat.scale(sprite.scale);
glUniformMatrix3fv(spriteProg.transform, 1, GL_TRUE, mat.data());
glBindTexture(GL_TEXTURE_2D, sprite.tex);
@@ -283,11 +285,11 @@ void Renderer::destroyChunk(RenderChunk chunk) {
glCheck();
}

RenderSprite Renderer::createSprite(void *data, int width, int height) {
RenderSprite Renderer::createSprite(void *data, int width, int height, int fh) {
RenderSprite sprite;
sprite.scale = {
(float)width / SwanCommon::TILE_SIZE,
(float)height / SwanCommon::TILE_SIZE };
(float)fh / SwanCommon::TILE_SIZE };
glGenTextures(1, &sprite.tex);
glCheck();

@@ -307,6 +309,10 @@ RenderSprite Renderer::createSprite(void *data, int width, int height) {
return sprite;
}

RenderSprite Renderer::createSprite(void *data, int width, int height) {
return createSprite(data, width, height, height);
}

void Renderer::destroySprite(RenderSprite sprite) {
glDeleteTextures(1, &sprite.tex);
}

Loading…
Cancel
Save