From cd5a17986b9852ff163edb2ff1af9afbe74df2d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim=20=C3=9Cbelh=C3=B6r?= <tim.uebelhoer@irt.rwt-aachen.de> Date: Sun, 3 Mar 2019 15:46:27 +0100 Subject: [PATCH] fixed recalculating the texture dimensions on set --- include/scigl_render/render/rasterizer.hpp | 4 ++-- src/render/rasterizer.cpp | 21 ++++++++++++--------- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/include/scigl_render/render/rasterizer.hpp b/include/scigl_render/render/rasterizer.hpp index a30be74..9490613 100644 --- a/include/scigl_render/render/rasterizer.hpp +++ b/include/scigl_render/render/rasterizer.hpp @@ -84,8 +84,8 @@ public: size_t get_views_per_column() const; size_t get_view_width() const; size_t get_view_height() const; - void set_views_per_row(size_t n_views); - void set_views_per_column(size_t n_views); + void set_views_per_row(size_t views_per_row); + void set_views_per_column(size_t views_per_column); void set_view_width(size_t width); void set_view_height(size_t height); diff --git a/src/render/rasterizer.cpp b/src/render/rasterizer.cpp index c80b012..7b62de0 100644 --- a/src/render/rasterizer.cpp +++ b/src/render/rasterizer.cpp @@ -10,12 +10,11 @@ Rasterizer::Rasterizer() Rasterizer::Rasterizer(size_t width, size_t height, size_t views_per_row, size_t views_per_column) - : width(width), height(height), - views_per_row(views_per_row), views_per_column(views_per_column) { - // create the offscreen render object - texture_width = width * views_per_row; - texture_height = height * views_per_column; + set_view_width(width); + set_view_height(height); + set_views_per_row(views_per_row); + set_views_per_column(views_per_column); } void Rasterizer::activate_view(size_t row, size_t column) @@ -72,21 +71,25 @@ size_t Rasterizer::get_view_height() const { return height; } -void Rasterizer::set_views_per_row(size_t n_views) +void Rasterizer::set_views_per_row(size_t views_per_row) { - views_per_row = n_views; + this->views_per_row = views_per_row; + texture_width = views_per_row * width; } -void Rasterizer::set_views_per_column(size_t n_views) +void Rasterizer::set_views_per_column(size_t views_per_column) { - views_per_column = n_views; + this->views_per_column = views_per_column; + texture_height = views_per_column * height; } void Rasterizer::set_view_width(size_t width) { this->width = width; + texture_width = views_per_row * width; } void Rasterizer::set_view_height(size_t height) { this->height = height; + texture_height = views_per_column * height; } Rasterizer::ImageHeader Rasterizer::get_view_image( -- GitLab