Skip to content

Commit 4cc321f

Browse files
committed
renderer: Resize all texture targets in render stages with new resize method.
1 parent 1d5fe9f commit 4cc321f

File tree

5 files changed

+15
-21
lines changed

5 files changed

+15
-21
lines changed

libopenage/renderer/opengl/texture.cpp

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -139,16 +139,7 @@ void GlTexture2d::resize(size_t width, size_t height) {
139139
std::get<2>(fmt_in_out),
140140
nullptr);
141141

142-
// copy the old texture data into the new texture
143-
glCopyTexSubImage2D(
144-
GL_TEXTURE_2D,
145-
0,
146-
0,
147-
0,
148-
0,
149-
0,
150-
std::min(size.first, prev_size.first), // avoid buffer overread with std::min
151-
std::min(size.second, prev_size.second));
142+
// TODO: copy the old texture data into the new texture
152143

153144
log::log(MSG(dbg) << "Resized OpenGL texture (size: "
154145
<< width << "x" << height << ")");

libopenage/renderer/stages/hud/render_stage.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2023-2024 the openage authors. See copying.md for legal info.
1+
// Copyright 2023-2025 the openage authors. See copying.md for legal info.
22

33
#include "render_stage.h"
44

@@ -92,8 +92,8 @@ void HudRenderStage::update() {
9292
}
9393

9494
void HudRenderStage::resize(size_t width, size_t height) {
95-
this->output_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::rgba8));
96-
this->depth_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::depth24));
95+
this->output_texture->resize(width, height);
96+
this->depth_texture->resize(width, height);
9797

9898
auto fbo = this->renderer->create_texture_target({this->output_texture, this->depth_texture});
9999
this->render_pass->set_target(fbo);

libopenage/renderer/stages/skybox/render_stage.cpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2022-2024 the openage authors. See copying.md for legal info.
1+
// Copyright 2022-2025 the openage authors. See copying.md for legal info.
22

33
#include "render_stage.h"
44

@@ -10,10 +10,12 @@
1010
#include "renderer/resources/shader_source.h"
1111
#include "renderer/resources/texture_info.h"
1212
#include "renderer/shader_program.h"
13+
#include "renderer/texture.h"
1314
#include "renderer/uniform_input.h"
1415
#include "renderer/window.h"
1516
#include "util/path.h"
1617

18+
1719
namespace openage::renderer::skybox {
1820

1921
SkyboxRenderStage::SkyboxRenderStage(const std::shared_ptr<Window> &window,
@@ -67,7 +69,7 @@ void SkyboxRenderStage::set_color(float r, float g, float b, float a) {
6769
}
6870

6971
void SkyboxRenderStage::resize(size_t width, size_t height) {
70-
this->output_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::rgba8));
72+
this->output_texture->resize(width, height);
7173

7274
auto fbo = this->renderer->create_texture_target({this->output_texture});
7375
this->render_pass->set_target(fbo);

libopenage/renderer/stages/terrain/render_stage.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright 2022-2024 the openage authors. See copying.md for legal info.
1+
// Copyright 2022-2025 the openage authors. See copying.md for legal info.
22

33
#include "render_stage.h"
44

@@ -13,6 +13,7 @@
1313
#include "renderer/stages/terrain/chunk.h"
1414
#include "renderer/stages/terrain/mesh.h"
1515
#include "renderer/stages/terrain/model.h"
16+
#include "renderer/texture.h"
1617
#include "renderer/window.h"
1718
#include "time/clock.h"
1819

@@ -88,8 +89,8 @@ void TerrainRenderStage::update() {
8889
}
8990

9091
void TerrainRenderStage::resize(size_t width, size_t height) {
91-
this->output_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::rgba8));
92-
this->depth_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::depth24));
92+
this->output_texture->resize(width, height);
93+
this->depth_texture->resize(width, height);
9394

9495
auto fbo = this->renderer->create_texture_target({this->output_texture, this->depth_texture});
9596
this->render_pass->set_target(fbo);

libopenage/renderer/stages/world/render_stage.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,9 @@ void WorldRenderStage::update() {
109109
}
110110

111111
void WorldRenderStage::resize(size_t width, size_t height) {
112-
this->output_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::rgba8));
113-
this->depth_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::depth24));
114-
this->id_texture = renderer->add_texture(resources::Texture2dInfo(width, height, resources::pixel_format::r32ui));
112+
this->output_texture->resize(width, height);
113+
this->depth_texture->resize(width, height);
114+
this->id_texture->resize(width, height);
115115

116116
auto fbo = this->renderer->create_texture_target({this->output_texture, this->id_texture, this->depth_texture});
117117
this->render_pass->set_target(fbo);

0 commit comments

Comments
 (0)