summaryrefslogtreecommitdiffstats
path: root/thirdparty/oidn/core/autoencoder.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/oidn/core/autoencoder.h')
-rw-r--r--thirdparty/oidn/core/autoencoder.h120
1 files changed, 0 insertions, 120 deletions
diff --git a/thirdparty/oidn/core/autoencoder.h b/thirdparty/oidn/core/autoencoder.h
deleted file mode 100644
index 98b610844e..0000000000
--- a/thirdparty/oidn/core/autoencoder.h
+++ /dev/null
@@ -1,120 +0,0 @@
-// ======================================================================== //
-// Copyright 2009-2019 Intel Corporation //
-// //
-// Licensed under the Apache License, Version 2.0 (the "License"); //
-// you may not use this file except in compliance with the License. //
-// You may obtain a copy of the License at //
-// //
-// http://www.apache.org/licenses/LICENSE-2.0 //
-// //
-// Unless required by applicable law or agreed to in writing, software //
-// distributed under the License is distributed on an "AS IS" BASIS, //
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. //
-// See the License for the specific language governing permissions and //
-// limitations under the License. //
-// ======================================================================== //
-
-#pragma once
-
-#include "filter.h"
-#include "network.h"
-#include "transfer_function.h"
-
-namespace oidn {
-
- // --------------------------------------------------------------------------
- // AutoencoderFilter - Direct-predicting autoencoder
- // --------------------------------------------------------------------------
-
- class AutoencoderFilter : public Filter
- {
- protected:
- static constexpr int alignment = 32; // required spatial alignment in pixels (padding may be necessary)
- static constexpr int receptiveField = 222; // receptive field in pixels
- static constexpr int overlap = roundUp(receptiveField / 2, alignment); // required spatial overlap between tiles in pixels
-
- static constexpr int estimatedBytesBase = 16*1024*1024; // estimated base memory usage
- static constexpr int estimatedBytesPerPixel8 = 889; // estimated memory usage per pixel for K=8
- static constexpr int estimatedBytesPerPixel16 = 2185; // estimated memory usage per pixel for K=16
-
- Image color;
- Image albedo;
- Image normal;
- Image output;
- bool hdr = false;
- float hdrScale = std::numeric_limits<float>::quiet_NaN();
- bool srgb = false;
- int maxMemoryMB = 6000; // approximate maximum memory usage in MBs
-
- int H = 0; // image height
- int W = 0; // image width
- int tileH = 0; // tile height
- int tileW = 0; // tile width
- int tileCountH = 1; // number of tiles in H dimension
- int tileCountW = 1; // number of tiles in W dimension
-
- std::shared_ptr<Executable> net;
- std::shared_ptr<Node> inputReorder;
- std::shared_ptr<Node> outputReorder;
-
- struct
- {
- void* ldr = nullptr;
- void* ldr_alb = nullptr;
- void* ldr_alb_nrm = nullptr;
- void* hdr = nullptr;
- void* hdr_alb = nullptr;
- void* hdr_alb_nrm = nullptr;
- } weightData;
-
- explicit AutoencoderFilter(const Ref<Device>& device);
- virtual std::shared_ptr<TransferFunction> makeTransferFunc();
-
- public:
- void setImage(const std::string& name, const Image& data) override;
- void set1i(const std::string& name, int value) override;
- int get1i(const std::string& name) override;
- void set1f(const std::string& name, float value) override;
- float get1f(const std::string& name) override;
-
- void commit() override;
- void execute() override;
-
- private:
- void computeTileSize();
-
- template<int K>
- std::shared_ptr<Executable> buildNet();
-
- bool isCommitted() const { return bool(net); }
- };
-
- // --------------------------------------------------------------------------
- // RTFilter - Generic ray tracing denoiser
- // --------------------------------------------------------------------------
-
-// -- GODOT start --
-// Godot doesn't need Raytracing filters. Removing them saves space in the weights files.
-#if 0
-// -- GODOT end --
- class RTFilter : public AutoencoderFilter
- {
- public:
- explicit RTFilter(const Ref<Device>& device);
- };
-// -- GODOT start --
-#endif
-// -- GODOT end --
-
- // --------------------------------------------------------------------------
- // RTLightmapFilter - Ray traced lightmap denoiser
- // --------------------------------------------------------------------------
-
- class RTLightmapFilter : public AutoencoderFilter
- {
- public:
- explicit RTLightmapFilter(const Ref<Device>& device);
- std::shared_ptr<TransferFunction> makeTransferFunc() override;
- };
-
-} // namespace oidn