| 402 | } |
| 403 | |
| 404 | void ProgressiveResult(Float4 bakeOutput[BasisCount], uint64 passIdx) |
| 405 | { |
| 406 | const float lerpFactor = passIdx / (passIdx + 1.0f); |
| 407 | for(uint64 i = 0; i < BasisCount; ++i) |
| 408 | { |
| 409 | Float3 newSample = ProjectedResult[i].Amplitude * HemisphereMonteCarloFactor(1); |
| 410 | Float3 currValue = bakeOutput[i].To3D(); |
| 411 | currValue = Lerp<Float3>(newSample, currValue, lerpFactor); |
| 412 | bakeOutput[i] = Float4(Float3::Clamp(currValue, -FP16Max, FP16Max), 1.0f); |
| 413 | } |
| 414 | } |
| 415 | }; |
| 416 | |
| 417 | typedef SGBaker<5> SG5Baker; |
nothing calls this directly
no test coverage detected