Skip to content

Commit

Permalink
Fix adaptive tile sampler defaults
Browse files Browse the repository at this point in the history
  • Loading branch information
est77 committed Nov 24, 2018
1 parent 568665e commit f36aa97
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 17 deletions.
6 changes: 5 additions & 1 deletion src/appleseedmaya/appleseedsession.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,11 @@ namespace
configParams = &cfg->get_parameters();
initializeConfiguration(*configParams);
configParams->insert("frame_renderer", "generic");
configParams->insert_path("uniform_pixel_renderer.samples", "16");
configParams->insert_path("uniform_pixel_renderer.samples", "32");
configParams->insert_path("adaptive_tile_renderer.min_samples", "0");
configParams->insert_path("adaptive_tile_renderer.max_samples", "32");
configParams->insert_path("adaptive_tile_renderer.batch_size", "16");
configParams->insert_path("adaptive_tile_renderer.noise_threshold", "1.0");

// Create some basic project entities.

Expand Down
31 changes: 16 additions & 15 deletions src/appleseedmaya/renderglobalsnode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -66,8 +66,8 @@ const MTypeId RenderGlobalsNode::id(RenderGlobalsNodeTypeId);
MObject RenderGlobalsNode::m_passes;

MObject RenderGlobalsNode::m_adaptiveSampling;
MObject RenderGlobalsNode::m_pixelSamples;
MObject RenderGlobalsNode::m_minPixelSamples;
MObject RenderGlobalsNode::m_maxPixelSamples;
MObject RenderGlobalsNode::m_batchSampleSize;
MObject RenderGlobalsNode::m_sampleNoiseThreshold;

Expand Down Expand Up @@ -192,18 +192,19 @@ MStatus RenderGlobalsNode::initialize()
m_adaptiveSampling = numAttrFn.create("adaptiveSampling", "adaptiveSampling", MFnNumericData::kBoolean, true, &status);
CHECKED_ADD_ATTRIBUTE(m_adaptiveSampling, "adaptiveSampling")

// Pixel Samples.
m_pixelSamples = numAttrFn.create("samples", "samples", MFnNumericData::kInt, 16, &status);
numAttrFn.setMin(1);
CHECKED_ADD_ATTRIBUTE(m_pixelSamples, "samples")

// Min Pixel Samples.
m_minPixelSamples = numAttrFn.create("minPixelSamples", "minPixelSamples", MFnNumericData::kInt, 0, &status);
numAttrFn.setMin(0);
CHECKED_ADD_ATTRIBUTE(m_minPixelSamples, "minPixelSamples")

// Max Pixel Samples.
m_maxPixelSamples = numAttrFn.create("samples", "samples", MFnNumericData::kInt, 32, &status);
numAttrFn.setMin(1);
CHECKED_ADD_ATTRIBUTE(m_maxPixelSamples, "samples")

// Batch Sample Size.
m_batchSampleSize = numAttrFn.create("batchSampleSize", "batchSampleSize", MFnNumericData::kInt, 8, &status);
m_batchSampleSize = numAttrFn.create("batchSampleSize", "batchSampleSize", MFnNumericData::kInt, 16, &status);
numAttrFn.setMin(1);
CHECKED_ADD_ATTRIBUTE(m_batchSampleSize, "batchSampleSize")

Expand Down Expand Up @@ -522,20 +523,20 @@ void RenderGlobalsNode::applyGlobalsToProject(
adaptiveSampling ? "adaptive" : "generic");
}

int samples;
if (AttributeUtils::get(MPlug(globals, m_pixelSamples), samples))
int minSamples;
if (AttributeUtils::get(MPlug(globals, m_minPixelSamples), minSamples))
finalParams.insert_path("adaptive_tile_renderer.min_samples", minSamples);

int maxSamples;
if (AttributeUtils::get(MPlug(globals, m_maxPixelSamples), maxSamples))
{
finalParams.insert_path("uniform_pixel_renderer.samples", samples);
finalParams.insert_path("adaptive_tile_renderer.max_samples", samples);
finalParams.insert_path("uniform_pixel_renderer.samples", maxSamples);
finalParams.insert_path("adaptive_tile_renderer.max_samples", maxSamples);

if (samples == 1)
if (maxSamples == 1)
finalParams.insert_path("uniform_pixel_renderer.force_antialiasing", true);
}

int minSamples;
if (AttributeUtils::get(MPlug(globals, m_minPixelSamples), minSamples))
finalParams.insert_path("adaptive_tile_renderer.min_samples", minSamples);

int batchSampleSize;
if (AttributeUtils::get(MPlug(globals, m_batchSampleSize), batchSampleSize))
finalParams.insert_path("adaptive_tile_renderer.batch_size", batchSampleSize);
Expand Down
2 changes: 1 addition & 1 deletion src/appleseedmaya/renderglobalsnode.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@ class RenderGlobalsNode
static MObject m_passes;

static MObject m_adaptiveSampling;
static MObject m_pixelSamples;
static MObject m_minPixelSamples;
static MObject m_maxPixelSamples;
static MObject m_batchSampleSize;
static MObject m_sampleNoiseThreshold;

Expand Down

0 comments on commit f36aa97

Please sign in to comment.