MCPcopy Create free account
hub / github.com/NVIDIAGameWorks/Falcor / parseProperties

Method parseProperties

Source/RenderPasses/PathTracer/PathTracer.cpp:211–283  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

209}
210
211void PathTracer::parseProperties(const Properties& props)
212{
213 for (const auto& [key, value] : props)
214 {
215 // Rendering parameters
216 if (key == kSamplesPerPixel) mStaticParams.samplesPerPixel = value;
217 else if (key == kMaxSurfaceBounces) mStaticParams.maxSurfaceBounces = value;
218 else if (key == kMaxDiffuseBounces) mStaticParams.maxDiffuseBounces = value;
219 else if (key == kMaxSpecularBounces) mStaticParams.maxSpecularBounces = value;
220 else if (key == kMaxTransmissionBounces) mStaticParams.maxTransmissionBounces = value;
221
222 // Sampling parameters
223 else if (key == kSampleGenerator) mStaticParams.sampleGenerator = value;
224 else if (key == kFixedSeed) { mParams.fixedSeed = value; mParams.useFixedSeed = true; }
225 else if (key == kUseBSDFSampling) mStaticParams.useBSDFSampling = value;
226 else if (key == kUseRussianRoulette) mStaticParams.useRussianRoulette = value;
227 else if (key == kUseNEE) mStaticParams.useNEE = value;
228 else if (key == kUseMIS) mStaticParams.useMIS = value;
229 else if (key == kMISHeuristic) mStaticParams.misHeuristic = value;
230 else if (key == kMISPowerExponent) mStaticParams.misPowerExponent = value;
231 else if (key == kEmissiveSampler) mStaticParams.emissiveSampler = value;
232 else if (key == kLightBVHOptions) mLightBVHOptions = value;
233 else if (key == kUseRTXDI) mStaticParams.useRTXDI = value;
234 else if (key == kRTXDIOptions) mRTXDIOptions = value;
235
236 // Material parameters
237 else if (key == kUseAlphaTest) mStaticParams.useAlphaTest = value;
238 else if (key == kAdjustShadingNormals) mStaticParams.adjustShadingNormals = value;
239 else if (key == kMaxNestedMaterials) mStaticParams.maxNestedMaterials = value;
240 else if (key == kUseLightsInDielectricVolumes) mStaticParams.useLightsInDielectricVolumes = value;
241 else if (key == kDisableCaustics) mStaticParams.disableCaustics = value;
242 else if (key == kSpecularRoughnessThreshold) mParams.specularRoughnessThreshold = value;
243 else if (key == kPrimaryLodMode) mStaticParams.primaryLodMode = value;
244 else if (key == kLODBias) mParams.lodBias = value;
245
246 // Denoising parameters
247 else if (key == kUseNRDDemodulation) mStaticParams.useNRDDemodulation = value;
248
249 // Scheduling parameters
250 else if (key == kUseSER) mStaticParams.useSER = value;
251
252 // Output parameters
253 else if (key == kOutputSize) mOutputSizeSelection = value;
254 else if (key == kFixedOutputSize) mFixedOutputSize = value;
255 else if (key == kColorFormat) mStaticParams.colorFormat = value;
256
257 else logWarning("Unknown property '{}' in PathTracer properties.", key);
258 }
259
260 if (props.has(kMaxSurfaceBounces))
261 {
262 // Initialize bounce counts to 'maxSurfaceBounces' if they weren't explicitly set.
263 if (!props.has(kMaxDiffuseBounces)) mStaticParams.maxDiffuseBounces = mStaticParams.maxSurfaceBounces;
264 if (!props.has(kMaxSpecularBounces)) mStaticParams.maxSpecularBounces = mStaticParams.maxSurfaceBounces;
265 if (!props.has(kMaxTransmissionBounces)) mStaticParams.maxTransmissionBounces = mStaticParams.maxSurfaceBounces;
266 }
267 else
268 {

Callers

nothing calls this directly

Calls 3

logWarningFunction · 0.50
maxFunction · 0.50
hasMethod · 0.45

Tested by

no test coverage detected