Computer graphics in Game development
Ivan Belyavtsev
01.10.2022
If a function \(x(t)\) contains no frequencies higher than \(B\) hertz, it is completely determined by giving its ordinates at a series of points spaced \(1/2B\) seconds apart. [1]
Halton sequence is a quasi-random number sequence which actively use for Monte-Carlo simulation. [4]
float2 result{0.0f, 0.0f};
constexpr int base_x = 2;
int index = frame_id + 1;
float inv_base = 1.0f / base_x;
float fraction = inv_base;
while (index > 0)
{
result.x += (index % base_x) * fraction;
index /= base_x;
fraction *= inv_base;
}
constexpr int base_y = 3;
index = frame_id + 1;
inv_base = 1.0f / base_y;
fraction = inv_base;
while (index > 0)
{
result.y += (index % base_y) * fraction;
index /= base_y;
fraction *= inv_base;
}
return result - 0.5f;
[5]
During accumulation you’ll find the intensity of the light is reducing proportional the number of accumulated frames. To compensate the energy lost lets apply a gamma-correction.
\[{GammaRGB}={LinearRGB}^{\frac{1}{\gamma}}\]
[6]
get_jitter
method of raytracer
classhistory
resource in raytracer
classray_generation
method of
raytracer
classclosest_hit_shader
for Monte-Carlo light
tracingraytracing
tagraytracing
tagDue date: 21.10.2022