...
 
Commits (4)
    https://gitcode.net/imjiangjun/pbrt-v4/-/commit/8c7bf37b6c4d423abd24a8587455d035b17f0f2b Fix spelling 2023-07-05T22:39:43+02:00 Julian Amann julian.amann@tum.de https://gitcode.net/imjiangjun/pbrt-v4/-/commit/46b19d5e1a0db0bcc6c9b651b55262ac2ad45fcf Fix dupe word typo 2023-07-05T22:39:43+02:00 Julian Amann julian.amann@tum.de https://gitcode.net/imjiangjun/pbrt-v4/-/commit/698e20331b8cb1bdb6e7a0e6c1f86375e3f76c69 Fix bug in f94d39f8d908752513104d815e66188f5585f446. 2023-07-14T10:27:26-07:00 Matt Pharr matt@pharr.org Fixes #368. https://gitcode.net/imjiangjun/pbrt-v4/-/commit/05ff05e1ded8299b1de0eb8ee6c11f192d0a64dd Merge pull request #364 from Vertexwahn/fix-spelling 2023-07-14T10:28:25-07:00 Matt Pharr matt@pharr.org Fix spelling
......@@ -483,7 +483,7 @@ int assemble(std::vector<std::string> args) {
}
if (Union(*metadata.pixelBounds, fullBounds) != fullBounds) {
Warning("%s: pixel bounds (%d, %d) - (%d, %d) in EXR file isn't inside "
"the the full image (0, 0) - (%d, %d). "
"the full image (0, 0) - (%d, %d). "
"Ignoring this file.",
file, metadata.pixelBounds->pMin.x, metadata.pixelBounds->pMin.y,
metadata.pixelBounds->pMax.x, metadata.pixelBounds->pMax.y,
......@@ -2247,6 +2247,7 @@ int denoise_optix(std::vector<std::string> args) {
CUDA_CHECK(cudaFree(nullptr));
int nLayers = 3;
bool oldNormalNaming = false;
ImageChannelDesc desc[3] = {
image.GetChannelDesc({"R", "G", "B"}),
image.GetChannelDesc({"Albedo.R", "Albedo.G", "Albedo.B"}),
......@@ -2264,7 +2265,9 @@ int denoise_optix(std::vector<std::string> args) {
if (!desc[2]) {
// Try the old naming scheme
desc[2] = image.GetChannelDesc({"Nsx", "Nsy", "Nsz"});
if (!desc[2]) {
if (desc[2])
oldNormalNaming = true;
else {
Warning("%s: image doesn't have Ns.X, Ns.Y, Ns.Z channels. "
"Denoising quality may suffer.",
inFilename);
......@@ -2302,7 +2305,10 @@ int denoise_optix(std::vector<std::string> args) {
Normal3f *normalGPU = nullptr;
if (nLayers == 3) {
albedoGPU = (RGB *)copyChannelsToGPU({"Albedo.R", "Albedo.G", "Albedo.B"});
normalGPU = (Normal3f *)copyChannelsToGPU({"Nsx", "Nsy", "Nsz"}, true);
if (oldNormalNaming)
normalGPU = (Normal3f *)copyChannelsToGPU({"Nsx", "Nsy", "Nsz"}, true);
else
normalGPU = (Normal3f *)copyChannelsToGPU({"Ns.X", "Ns.Y", "Ns.Z"}, true);
}
RGB *rgbResultGPU;
......
......@@ -55,7 +55,7 @@ static PBRT_CONST int NoisePerm[2 * NoisePermSize] = {
// Noise Function Definitions
Float Noise(Float x, Float y, Float z) {
// Compute noise cell coordinates and offsets
// Avoid overflow when computing deltas if the coordiantes are too large to store in
// Avoid overflow when computing deltas if the coordinates are too large to store in
// int32s.
x = pstd::fmod(x, Float(1 << 30));
y = pstd::fmod(y, Float(1 << 30));
......