Skip to content

Commit e446cab

Browse files
committed
Minor refactoring
1 parent 40edf6f commit e446cab

3 files changed

Lines changed: 9 additions & 10 deletions

File tree

internal/RendererCPU.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -379,12 +379,13 @@ void Ray::Cpu::Renderer<SIMDPolicy>::RenderScene(const SceneBase &scene, RegionC
379379
std::shared_lock<std::shared_timed_mutex> scene_lock(s.mtx_);
380380

381381
const camera_t &cam = s.cams_[s.current_cam()._index];
382+
const float cam_exposure = std::pow(2.0f, cam.exposure);
382383

383384
++region.iteration;
384385

385386
cache_grid_params_t cache_grid_params;
386387
memcpy(cache_grid_params.cam_pos_curr, cam.origin, 3 * sizeof(float));
387-
cache_grid_params.exposure = std::pow(2.0f, cam.exposure);
388+
cache_grid_params.exposure = cam_exposure;
388389

389390
const scene_data_t sc_data = {s.env_,
390391
s.mesh_instances_.empty() ? nullptr : &s.mesh_instances_[0],
@@ -575,7 +576,7 @@ void Ray::Cpu::Renderer<SIMDPolicy>::RenderScene(const SceneBase &scene, RegionC
575576
tonemap_params.view_transform = cam.view_transform;
576577
tonemap_params.inv_gamma = (1.0f / cam.gamma);
577578

578-
Ref::fvec4 exposure = std::pow(2.0f, cam.exposure);
579+
Ref::fvec4 exposure = cam_exposure;
579580
exposure.set<3>(1.0f);
580581

581582
const float variance_threshold =

internal/RendererDX.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,7 @@ void Ray::Dx::Renderer::RenderScene(const SceneBase &scene, RegionContext &regio
298298
++region.iteration;
299299

300300
const Ray::camera_t &cam = s.cams_[s.current_cam()._index];
301+
const float cam_exposure = std::pow(2.0f, cam.exposure);
301302

302303
// TODO: Use common command buffer for all uploads
303304
if (cam.filter != filter_table_filter_ || cam.filter_width != filter_table_width_) {
@@ -347,7 +348,7 @@ void Ray::Dx::Renderer::RenderScene(const SceneBase &scene, RegionContext &regio
347348

348349
cache_grid_params_t cache_grid_params;
349350
memcpy(cache_grid_params.cam_pos_curr, cam.origin, 3 * sizeof(float));
350-
cache_grid_params.exposure = std::pow(2.0f, cam.exposure);
351+
cache_grid_params.exposure = cam_exposure;
351352

352353
#if !RUN_IN_LOCKSTEP
353354
if (ctx_->in_flight_fence(ctx_->backend_frame)->GetCompletedValue() < ctx_->fence_values[ctx_->backend_frame]) {
@@ -637,13 +638,11 @@ void Ray::Dx::Renderer::RenderScene(const SceneBase &scene, RegionContext &regio
637638
{ // prepare result
638639
DebugMarker _(ctx_.get(), cmd_buf, "Ray::Prepare Result");
639640

640-
const float exposure = std::pow(2.0f, cam.exposure);
641-
642641
// factor used to compute incremental average
643642
const float mix_factor = 1.0f / float(region.iteration);
644643
const float half_mix_factor = 1.0f / float((region.iteration + 1) / 2);
645644

646-
kernel_MixIncremental(cmd_buf, mix_factor, half_mix_factor, rect, region.iteration, exposure, temp_buf0_,
645+
kernel_MixIncremental(cmd_buf, mix_factor, half_mix_factor, rect, region.iteration, cam_exposure, temp_buf0_,
647646
temp_buf1_, temp_depth_normals_buf_, required_samples_buf_, full_buf_, half_buf_,
648647
base_color_buf_, depth_normals_buf_);
649648
}

internal/RendererVK.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -352,6 +352,7 @@ void Ray::Vk::Renderer::RenderScene(const SceneBase &scene, RegionContext &regio
352352
++region.iteration;
353353

354354
const Ray::camera_t &cam = s.cams_[s.current_cam()._index];
355+
const float cam_exposure = std::pow(2.0f, cam.exposure);
355356

356357
// TODO: Use common command buffer for all uploads
357358
if (cam.filter != filter_table_filter_ || cam.filter_width != filter_table_width_) {
@@ -396,7 +397,7 @@ void Ray::Vk::Renderer::RenderScene(const SceneBase &scene, RegionContext &regio
396397

397398
cache_grid_params_t cache_grid_params;
398399
memcpy(cache_grid_params.cam_pos_curr, cam.origin, 3 * sizeof(float));
399-
cache_grid_params.exposure = std::pow(2.0f, cam.exposure);
400+
cache_grid_params.exposure = cam_exposure;
400401

401402
CommandBuffer cmd_buf = {};
402403
if (external_cmd_buf_.vk_cmd_buf) {
@@ -690,13 +691,11 @@ void Ray::Vk::Renderer::RenderScene(const SceneBase &scene, RegionContext &regio
690691
{ // prepare result
691692
DebugMarker _(ctx_.get(), cmd_buf, "Prepare Result");
692693

693-
const float exposure = std::pow(2.0f, cam.exposure);
694-
695694
// factor used to compute incremental average
696695
const float mix_factor = 1.0f / float(region.iteration);
697696
const float half_mix_factor = 1.0f / float((region.iteration + 1) / 2);
698697

699-
kernel_MixIncremental(cmd_buf, mix_factor, half_mix_factor, rect, region.iteration, exposure, temp_buf0_,
698+
kernel_MixIncremental(cmd_buf, mix_factor, half_mix_factor, rect, region.iteration, cam_exposure, temp_buf0_,
700699
temp_buf1_, temp_depth_normals_buf_, required_samples_buf_, full_buf_, half_buf_,
701700
base_color_buf_, depth_normals_buf_);
702701
}

0 commit comments

Comments
 (0)