New answers tagged

0

I've made a few changes in my code, so let's start with basic image that I had problem we that we'll state as a problem at the beginning: After changing part of the code from: float weight = abs(dot(wo, wm) / (dot(normalTS, wo) * dot(normalTS, wm))); if (dot(normalTS, wi) > 0.0f && dot(wi, wm) > 0.0f) To this (i.e. moving part of calculations ...


0

To follow up my question and provide partial answer: First of all, I'd like to thank lightxbulb for providing comments which helped me to find solution. So here is a basic image, 4 light bounces with 1024 spp: Problem here is that everything is rather light. Why? Because I've based this part of my HLSL code on MJP's path tracer ( https://github.com/...


0

I managed to fix it. It was indeed related to repeating random sequences. The problem was the following. curandState* randState is an array of curandStates, and most calls to curand_* require a pointer of a curandState. I was sending the randState, the array, to curand_* functions and not for example, a pointer of one of its members. Now most of my images ...


2

Your definition for radiant intensity is wrong: it should be just $\Phi / 4\pi$. There are only $4\pi$ steradians in a sphere no matter how big it is, so $r$ doesn't come into it. Also note that you can't calculate radiance for a point sourceā€”it would be infinite, due to the fact the point source emits a finite amount of flux compressed into zero size. It ...


1

You can sample using absolutely any distribution you want, as long as you weight the results by dividing by the pdf of the sampled distribution. It will converge to the right answer (as long as the distribution is nonzero everywhere that you want to integrate). Different distributions will give different amounts of variance though. The trick with importance ...


Top 50 recent answers are included