12 votes
Accepted

Does cosine weighted hemisphere sampling still require NdotL when calculating contribution for indirect light?

You always need to multiply by the cosine term indeed (that's part of the rendering equation). Though when you do indirect diffuse using ray-tracing and thus monte-carol integration (which is the most ...
user avatar
  • 656
12 votes

What is the difference between importance sampling and mutiple importance sampling?

When shading a point on an opaque surface, you need to gather incoming light and weight it with the bidirectional reflectance distribution function (BRDF) of the material. The naive approach is to ...
user avatar
  • 2,223
9 votes
Accepted

What is the fundamental reasoning for anti aliasing using multiple random samples within a pixel?

From a signal processing point of view, you're sampling a continuous-domain signal, and you need to filter it to get rid of frequencies beyond the Nyquist limit. It's that filtering that leads to ...
user avatar
  • 23.7k
7 votes
Accepted

What is the optimal radius of gaussian distribution for determining pixel colour?

I'm not sure that there's a truly optimal radius—it's going to be a subjective matter based on what the image looks like. As you say, too large a radius results in blurring and too small a ...
user avatar
  • 23.7k
7 votes
Accepted

Why random monte carlo sampling instead of uniform sampling?

Sample locations with a uniform pattern will create aliasing in the output, whenever there are geometric features of size comparable to or smaller than the sampling grid. That's the reason why "...
user avatar
  • 23.7k
6 votes

Why random monte carlo sampling instead of uniform sampling?

Monte Carlo methods rely on the law of large numbers, which states that the average of a random event repeated a large number of times converges toward the expected value (if you flip a coin a ...
user avatar
6 votes

Importance Sampling of Environment Maps

This is not a full answer, I would just like to share the knowledge I obtained by studying two of the papers mentioned in the question: Steerable Importance Sampling and Practical Product Importance ...
user avatar
  • 1,377
6 votes
Accepted

Jitter texture generation

The texture is probably generated by picking a random angle per pixel, and populating the image with its sine and cosine, remapped into [0, 1]: $$\theta \sim [0, 2\pi] \quad \to \quad \begin{bmatrix} ...
user avatar
  • 23.7k
6 votes

Making low discrepancy sequence noise textures, not LDS sample positions

In theory, it is possible to stuff every sample distribution into a texture to "pre-bake" it for fast access. The question is whether any of the results might be useful. For blue noise, this makes a ...
user avatar
5 votes
Accepted

Mitchell's Best Candidate Algorithm

The problem turned out to be that you don't do the same number of candidates per point, but that if you have $n$ points already, you should generate $m*n$ candidates for the next point. $m$ is a ...
user avatar
  • 7,361
5 votes
Accepted

Path Tracing With Multiple Lights

It's not that hard. If you have just planar or angular light sources, you can think of them as one light source split into multiple chunks and the only thing to deal with is how to sample this multi-...
user avatar
  • 1,377
5 votes
Accepted

How can I resize a rendered ray traced image?

Since you want to downsample the image by a factor of 2 along each axis, a simple and easy thing to do is just average a 2×2 box of source pixels to generate each destination pixel. In ...
user avatar
  • 23.7k
5 votes

Speeding up convergence: am I reinventing the wheel?

It sounds like you're trying to do adaptive subdivision on the surface of a hemisphere. This has indeed been tried before, although perhaps not in the exact way you're thinking. Usually for ...
user avatar
  • 1,800
5 votes

High variance in path tracing specular objects

If your bunny is purely specular, then sampling the light directly at the shade point would give no contribution since the specular BSDF is a delta BSDF. It generally evaluates to zero for any ...
user avatar
  • 126
4 votes

What is the optimal radius of gaussian distribution for determining pixel colour?

Imagine that one is rendering a picture of a flat floor with a uniform black and white checkerboard pattern that extends to the horizon; the checkers are large enough that they should be clearly ...
user avatar
  • 181
4 votes

What is the fundamental reasoning for anti aliasing using multiple random samples within a pixel?

You are in fact doing both things. You are integrating the area and because your result is still discrete samples you are reconstructing the signal to make it continious function. Therefore the higher ...
user avatar
  • 8,169
4 votes

Importance Sampling of Environment Maps

Disclaimer: I have no idea what is the state of the art in the environmental map sampling. In fact, I have very little knowledge about this topic. So this will not be complete answer but I will ...
user avatar
  • 446
4 votes
Accepted

2D sampling with multidimensional transformations

I'm not sure I've correctly understood the question, but here goes. You're trying to sample directions uniformly, so you've got $p(\omega)$, which is the probability of getting a particular direction....
user avatar
  • 6,490
4 votes
Accepted

Link between blue noise sampling and blue noise textures?

The missing link between sample locations and the greyscale noise texture is "ordered dithering". Ordered dithering is a list of pixel locations with a "rank" (order) for each pixel. If you have a ...
user avatar
  • 7,361
4 votes
Accepted

Why map Hammersley 2D set's (u,v) to sphere's (θ, φ) coordinates (and not to (φ, θ) )?

You can of course, as you suggested, map (u, v) to (φ, θ). Unfortunately, it does not solve the problem for 5 points: I've changed Holger Dammertz' code a bit (switched u and v), and you see that the ...
user avatar
  • 2,223
4 votes
Accepted

How to Sample 3D Points Outside and Inside the Mesh Surface

What you want is something that can perform the inside-outside test for meshes. The simplest solution would be to use Trimesh's implementation which can be ran with Embree to accelerate ray queries. I ...
user avatar
  • 309
4 votes

How to Sample 3D Points Outside and Inside the Mesh Surface

I have a few suggestions: Partition the volume by using tetrahedra within the mesh, and outside of it (in the cube). Set the probability to sample each tetrahedron to its volume divided by the inside/...
user avatar
  • 1,837
3 votes
Accepted

Upscaling 720p to 1080p vs upscaling 768p to 1080p

With a good-quality upscaling filter (bicubic, for example), there's no particular importance to the 3:2 ratio. Starting from a higher-resolution source will produce a better-looking final image. It'...
user avatar
  • 23.7k
3 votes

Mitchell's Best Candidate Algorithm

Another very simple, easy to implement, algorithm to generate a Poisson-disk/blue noise point distribution is the following one [ 1 ]: Decide a radius r, and therefore the expected number N of ...
user avatar
3 votes
Accepted

Troubleshoot half vector sampling from a distribution (cook-torrence, trowbridge-reitz, etc)

The general idea for sampling half vector based distributions is that you generate $H$ and then compute $w_i$ by reflecting $w_o$ about $H$. This is so $H$ will be the half vector of your $w_i$ and $...
user avatar
  • 1,575
3 votes

How to sample 3D points to visualize a B-spline surface?

Based on your linked question, the problem appears to be that you don't get enough samples in highly curved areas of the surface. You could increase the sample density everywhere, but then you ...
user avatar
  • 23.7k
3 votes
Accepted

Path Tracer - sampling dimensions confusion

Only one path per sample. If you had 64 bounces per first hit and 64 per second hit and so forth you'd never get an image. Edit: And that's why you need to sample each pixel so many times (easily ...
user avatar
  • 315
3 votes
Accepted

Path tracer isn't converging

I can find two possible reasons for the image not converging. #1. Every sample is the same For every sample, you generate random rays. You do that when you shoot the ray through a pixel (for anti-...
user avatar
  • 1,575
3 votes
Accepted

Naive Path tracer produces much darker images than Explicit light sampling

It looks like you're clamping all your samples to 0-1 in line 215. Apply clamping only when displaying the image, not when accumulating samples.
user avatar
3 votes
Accepted

What does texture resolve mean?

I don't know about other contexts, but for DirectX resolving a texture means blending multi-sampled texture into a non-multisampled one. For simple scenarios this is usually done automatically by the ...
user avatar
  • 1,377

Only top scored, non community-wiki answers of a minimum length are eligible