From 97dda7ce9e9b9b0c6b5eff1364e2b24a891abba9 Mon Sep 17 00:00:00 2001 From: Kevin Masson Date: Thu, 8 Mar 2018 10:03:49 +0100 Subject: [PATCH] Hide base pixel renderer parameters from derived classes and fill review --- .../kernel/rendering/final/adaptivepixelrenderer.cpp | 12 +++++++----- .../kernel/rendering/final/adaptivepixelrenderer.h | 3 ++- .../kernel/rendering/final/uniformpixelrenderer.cpp | 2 +- .../kernel/rendering/final/uniformpixelrenderer.h | 1 + .../renderer/kernel/rendering/pixelrendererbase.cpp | 7 ++++++- .../renderer/kernel/rendering/pixelrendererbase.h | 6 +++--- 6 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.cpp b/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.cpp index 09f1a30b0f..3b2a03921c 100644 --- a/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.cpp +++ b/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.cpp @@ -90,7 +90,7 @@ namespace , m_params(params) , m_sample_renderer(factory->create(thread_index)) { - if (PixelRendererBase::m_params.m_diagnostics) + if (is_diagnostics_enabled()) { m_variation_aov_index = frame.create_extra_aov_image("variation"); m_samples_aov_index = frame.create_extra_aov_image("samples"); @@ -117,7 +117,7 @@ namespace m_params.m_min_samples, m_params.m_max_samples, m_params.m_max_variation, - PixelRendererBase::m_params.m_diagnostics ? "on" : "off"); + is_diagnostics_enabled() ? "on" : "off"); } void release() override @@ -142,9 +142,11 @@ namespace frame.aov_images().size(), frame.get_filter())); - if (PixelRendererBase::m_params.m_diagnostics) + if (is_diagnostics_enabled()) + { m_diagnostics.reset(new Tile( tile.get_width(), tile.get_height(), 2, PixelFormatFloat)); + } } void on_tile_end( @@ -154,7 +156,7 @@ namespace { PixelRendererBase::on_tile_end(frame, tile, aov_tiles); - if (PixelRendererBase::m_params.m_diagnostics) + if (is_diagnostics_enabled()) { const size_t width = tile.get_width(); const size_t height = tile.get_height(); @@ -291,7 +293,7 @@ namespace } // Store diagnostics values in the diagnostics tile. - if (PixelRendererBase::m_params.m_diagnostics && tile_bbox.contains(pt)) + if (is_diagnostics_enabled() && tile_bbox.contains(pt)) { Color values; diff --git a/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.h b/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.h index 71969a0e4c..1399711887 100644 --- a/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.h +++ b/src/appleseed/renderer/kernel/rendering/final/adaptivepixelrenderer.h @@ -41,7 +41,8 @@ #include // Forward declarations. -namespace founcation { class Dictionary; } +namespace foundation { class Dictionary; } +namespace renderer { class Frame; } namespace renderer { class ISampleRendererFactory; } namespace renderer diff --git a/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.cpp b/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.cpp index 6727b58e7d..4cefc2b9e3 100644 --- a/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.cpp +++ b/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.cpp @@ -115,7 +115,7 @@ namespace m_params.m_samples, m_params.m_force_aa ? "on" : "off", m_params.m_decorrelate ? "on" : "off", - PixelRendererBase::m_params.m_diagnostics ? "on" : "off"); + is_diagnostics_enabled() ? "on" : "off"); } void release() override diff --git a/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.h b/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.h index 176a98201a..981895acf5 100644 --- a/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.h +++ b/src/appleseed/renderer/kernel/rendering/final/uniformpixelrenderer.h @@ -42,6 +42,7 @@ // Forward declarations. namespace foundation { class Dictionary; } +namespace renderer { class Frame; } namespace renderer { class ISampleRendererFactory; } namespace renderer diff --git a/src/appleseed/renderer/kernel/rendering/pixelrendererbase.cpp b/src/appleseed/renderer/kernel/rendering/pixelrendererbase.cpp index 807fadf77b..0186d2f498 100644 --- a/src/appleseed/renderer/kernel/rendering/pixelrendererbase.cpp +++ b/src/appleseed/renderer/kernel/rendering/pixelrendererbase.cpp @@ -75,6 +75,11 @@ PixelRendererBase::PixelRendererBase( } } +bool PixelRendererBase::is_diagnostics_enabled() const +{ + return m_params.m_diagnostics; +} + void PixelRendererBase::on_tile_begin( const Frame& frame, Tile& tile, @@ -161,7 +166,7 @@ void PixelRendererBase::on_pixel_end( } // Invalid samples diagnostic - if (tile_bbox.contains(pt) && m_params.m_diagnostics) + if (m_params.m_diagnostics && tile_bbox.contains(pt)) { Color sample_state; diff --git a/src/appleseed/renderer/kernel/rendering/pixelrendererbase.h b/src/appleseed/renderer/kernel/rendering/pixelrendererbase.h index 568b662a6a..2998f7d3e9 100644 --- a/src/appleseed/renderer/kernel/rendering/pixelrendererbase.h +++ b/src/appleseed/renderer/kernel/rendering/pixelrendererbase.h @@ -67,6 +67,8 @@ class PixelRendererBase const size_t thread_index, const ParamArray& params); + bool is_diagnostics_enabled() const; + // This method is called before a tile gets rendered. void on_tile_begin( const Frame& frame, @@ -109,9 +111,7 @@ class PixelRendererBase size_t m_invalid_pixel_count; size_t m_invalid_sample_aov_index; std::unique_ptr m_invalid_sample_diagnostic; - - protected: - const Parameters m_params; + const Parameters m_params; };