Skip to content

Commit e3e8025

Browse files
Fix bad any_cast in screenshot function
1 parent d2715b9 commit e3e8025

File tree

4 files changed

+10
-7
lines changed

4 files changed

+10
-7
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.2.1-beta]
11+
12+
### Fixed
13+
- Fixed bad any_cast in screenshot function
14+
1015
## [0.2.0-beta]
1116

1217
### Added

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
cmake_minimum_required(VERSION 3.27)
22

3-
project(ATCG_FRAMEWORK LANGUAGES CXX C VERSION 0.2.0)
3+
project(ATCG_FRAMEWORK LANGUAGES CXX C VERSION 0.2.1)
44

55
#
66
# SETUP

atcg_lib/platform/opengl/src/Renderer/Renderer.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1216,7 +1216,6 @@ void RendererSystem::screenshot(const atcg::ref_ptr<Scene>& scene,
12161216
{
12171217
ATCG_ASSERT(impl->context->isCurrent(), "Context of Renderer not current.");
12181218

1219-
atcg::ref_ptr<PerspectiveCamera> cam = std::dynamic_pointer_cast<PerspectiveCamera>(camera);
12201219
atcg::ref_ptr<Framebuffer> screenshot_buffer = atcg::make_ref<Framebuffer>((int)width, (int)height);
12211220
screenshot_buffer->attachColor();
12221221
screenshot_buffer->attachDepth();
@@ -1226,7 +1225,7 @@ void RendererSystem::screenshot(const atcg::ref_ptr<Scene>& scene,
12261225
clear();
12271226
setViewport(0, 0, width, height);
12281227
atcg::Dictionary context;
1229-
context.setValue("camera", cam);
1228+
context.setValue("camera", camera);
12301229
scene->draw(context);
12311230
useScreenBuffer();
12321231
setDefaultViewport();
@@ -1243,8 +1242,7 @@ RendererSystem::screenshot(const atcg::ref_ptr<Scene>& scene, const atcg::ref_pt
12431242
{
12441243
ATCG_ASSERT(impl->context->isCurrent(), "Context of Renderer not current.");
12451244

1246-
atcg::ref_ptr<PerspectiveCamera> cam = std::dynamic_pointer_cast<PerspectiveCamera>(camera);
1247-
float height = (float)width / cam->getAspectRatio();
1245+
float height = (float)width / camera->getIntrinsics().aspectRatio();
12481246
atcg::ref_ptr<Framebuffer> screenshot_buffer = atcg::make_ref<Framebuffer>((int)width, (int)height);
12491247
screenshot_buffer->attachColor();
12501248
screenshot_buffer->attachDepth();
@@ -1254,7 +1252,7 @@ RendererSystem::screenshot(const atcg::ref_ptr<Scene>& scene, const atcg::ref_pt
12541252
clear();
12551253
setViewport(0, 0, width, height);
12561254
atcg::Dictionary context;
1257-
context.setValue("camera", cam);
1255+
context.setValue("camera", camera);
12581256
scene->draw(context);
12591257
useScreenBuffer();
12601258
setDefaultViewport();

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
[project]
33
name = "pyatcg"
4-
version = "0.2.0beta"
4+
version = "0.2.1beta"
55
authors = [{ name = "Domenic Zingsheim", email = "[email protected]" }]
66
description = ""
77
readme = "README.md"

0 commit comments

Comments
 (0)