This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/intern/cycles/device/denoise.cpp
Brecht Van Lommel 9cfc7967dd Cycles: use SPDX license headers
* Replace license text in headers with SPDX identifiers.
* Remove specific license info from outdated readme.txt, instead leave details
  to the source files.
* Add list of SPDX license identifiers used, and corresponding license texts.
* Update copyright dates while we're at it.

Ref D14069, T95597
2022-02-11 17:47:34 +01:00

78 lines
1.7 KiB
C++

/* SPDX-License-Identifier: Apache-2.0
* Copyright 2011-2022 Blender Foundation */
#include "device/denoise.h"
CCL_NAMESPACE_BEGIN
const char *denoiserTypeToHumanReadable(DenoiserType type)
{
switch (type) {
case DENOISER_OPTIX:
return "OptiX";
case DENOISER_OPENIMAGEDENOISE:
return "OpenImageDenoise";
case DENOISER_NUM:
case DENOISER_NONE:
case DENOISER_ALL:
return "UNKNOWN";
}
return "UNKNOWN";
}
const NodeEnum *DenoiseParams::get_type_enum()
{
static NodeEnum type_enum;
if (type_enum.empty()) {
type_enum.insert("optix", DENOISER_OPTIX);
type_enum.insert("openimageio", DENOISER_OPENIMAGEDENOISE);
}
return &type_enum;
}
const NodeEnum *DenoiseParams::get_prefilter_enum()
{
static NodeEnum prefilter_enum;
if (prefilter_enum.empty()) {
prefilter_enum.insert("none", DENOISER_PREFILTER_NONE);
prefilter_enum.insert("fast", DENOISER_PREFILTER_FAST);
prefilter_enum.insert("accurate", DENOISER_PREFILTER_ACCURATE);
}
return &prefilter_enum;
}
NODE_DEFINE(DenoiseParams)
{
NodeType *type = NodeType::add("denoise_params", create);
const NodeEnum *type_enum = get_type_enum();
const NodeEnum *prefilter_enum = get_prefilter_enum();
SOCKET_BOOLEAN(use, "Use", false);
SOCKET_ENUM(type, "Type", *type_enum, DENOISER_OPENIMAGEDENOISE);
SOCKET_INT(start_sample, "Start Sample", 0);
SOCKET_BOOLEAN(use_pass_albedo, "Use Pass Albedo", true);
SOCKET_BOOLEAN(use_pass_normal, "Use Pass Normal", false);
SOCKET_BOOLEAN(temporally_stable, "Temporally Stable", false);
SOCKET_ENUM(prefilter, "Prefilter", *prefilter_enum, DENOISER_PREFILTER_FAST);
return type;
}
DenoiseParams::DenoiseParams() : Node(get_node_type())
{
}
CCL_NAMESPACE_END