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 ...
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 ...
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 ...
7
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 ...
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 "...
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 ...
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 ...
6
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 ...
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-...
5
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....
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 ...
5
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} ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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 ...
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/...
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 ...
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 $...
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'...
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 ...
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 ...
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-...
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.
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 ...
3
votes
Accepted
Analytical derivative of a 3D Simplex Noise field
I have published it, in several versions, and it's not difficult to do it. Simplex noise is a lot easier to differentiate because it's a sum of polynomials, rather than a nested polynomial ...
3
votes
Accepted
What's more optimal - sampling one channel at a time or all channels at once?
It should be significantly faster to sample one RGBA value from one location in a texture than four R values from different locations in the texture.
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
sampling × 85pathtracing × 21
raytracing × 19
importance-sampling × 15
monte-carlo × 12
texture × 11
brdf × 8
mathematics × 7
image-processing × 6
rendering × 5
lighting × 5
noise × 5
distribution × 5
interpolation × 4
antialiasing × 4
filtering × 4
post-processing × 4
pbrt × 4
supersampling × 4
glsl × 3
global-illumination × 3
opengl × 2
3d × 2
shader × 2
algorithm × 2