Blender  V3.3
Macros | Functions | Variables
eevee_temporal_sampling.c File Reference
#include "DRW_render.h"
#include "ED_screen.h"
#include "BLI_rand.h"
#include "DEG_depsgraph_query.h"
#include "GPU_texture.h"
#include "eevee_private.h"

Go to the source code of this file.

Macros

#define FILTER_CDF_TABLE_SIZE   512
 

Functions

static float UNUSED_FUNCTION() filter_box (float UNUSED(x))
 
static float filter_blackman_harris (float x)
 
static void compute_cdf (float(*func)(float x), float cdf[FILTER_CDF_TABLE_SIZE])
 
static void invert_cdf (const float cdf[FILTER_CDF_TABLE_SIZE], float invert_cdf[FILTER_CDF_TABLE_SIZE])
 
static float eval_table (const float *table, float x)
 
static void eevee_create_cdf_table_temporal_sampling (void)
 
void EEVEE_temporal_sampling_offset_calc (const double ht_point[2], const float filter_size, float r_offset[2])
 
void EEVEE_temporal_sampling_matrices_calc (EEVEE_EffectsInfo *effects, const double ht_point[2])
 
void EEVEE_temporal_sampling_update_matrices (EEVEE_Data *vedata)
 
void EEVEE_temporal_sampling_reset (EEVEE_Data *vedata)
 
void EEVEE_temporal_sampling_create_view (EEVEE_Data *vedata)
 
int EEVEE_temporal_sampling_sample_count_get (const Scene *scene, const EEVEE_StorageList *stl)
 
int EEVEE_temporal_sampling_init (EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
 
void EEVEE_temporal_sampling_cache_init (EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
 
void EEVEE_temporal_sampling_draw (EEVEE_Data *vedata)
 

Variables

struct {
   bool   inited
 
   float   inverted_cdf [FILTER_CDF_TABLE_SIZE]
 
e_data = {false}
 

Detailed Description

Temporal super sampling technique

Definition in file eevee_temporal_sampling.c.

Macro Definition Documentation

◆ FILTER_CDF_TABLE_SIZE

#define FILTER_CDF_TABLE_SIZE   512

Definition at line 21 of file eevee_temporal_sampling.c.

Function Documentation

◆ compute_cdf()

static void compute_cdf ( float(*)(float x func,
float  cdf[FILTER_CDF_TABLE_SIZE] 
)
static

Definition at line 43 of file eevee_temporal_sampling.c.

References FILTER_CDF_TABLE_SIZE, float(), and x.

Referenced by eevee_create_cdf_table_temporal_sampling().

◆ eevee_create_cdf_table_temporal_sampling()

static void eevee_create_cdf_table_temporal_sampling ( void  )
static

◆ EEVEE_temporal_sampling_cache_init()

void EEVEE_temporal_sampling_cache_init ( EEVEE_ViewLayerData sldata,
EEVEE_Data vedata 
)

◆ EEVEE_temporal_sampling_create_view()

void EEVEE_temporal_sampling_create_view ( EEVEE_Data vedata)

◆ EEVEE_temporal_sampling_draw()

void EEVEE_temporal_sampling_draw ( EEVEE_Data vedata)

◆ EEVEE_temporal_sampling_init()

int EEVEE_temporal_sampling_init ( EEVEE_ViewLayerData UNUSEDsldata,
EEVEE_Data vedata 
)

◆ EEVEE_temporal_sampling_matrices_calc()

void EEVEE_temporal_sampling_matrices_calc ( EEVEE_EffectsInfo effects,
const double  ht_point[2] 
)

◆ EEVEE_temporal_sampling_offset_calc()

void EEVEE_temporal_sampling_offset_calc ( const double  ht_point[2],
const float  filter_size,
float  r_offset[2] 
)

◆ EEVEE_temporal_sampling_reset()

void EEVEE_temporal_sampling_reset ( EEVEE_Data vedata)

◆ EEVEE_temporal_sampling_sample_count_get()

int EEVEE_temporal_sampling_sample_count_get ( const Scene scene,
const EEVEE_StorageList stl 
)

◆ EEVEE_temporal_sampling_update_matrices()

void EEVEE_temporal_sampling_update_matrices ( EEVEE_Data vedata)

Update the matrices based on the current sample.

Note
DRW_MAT_PERS and DRW_MAT_VIEW needs to read the original matrices.

Definition at line 184 of file eevee_temporal_sampling.c.

References BLI_halton_2d(), DRW_view_set_active(), EEVEE_temporal_sampling_matrices_calc(), EEVEE_StorageList::effects, EEVEE_EffectsInfo::taa_current_sample, and EEVEE_EffectsInfo::taa_view.

Referenced by eevee_draw_scene(), and EEVEE_effects_init().

◆ eval_table()

static float eval_table ( const float table,
float  x 
)
static

Definition at line 80 of file eevee_temporal_sampling.c.

References CLAMP, FILTER_CDF_TABLE_SIZE, min_ii(), t, and x.

Referenced by EEVEE_temporal_sampling_offset_calc().

◆ filter_blackman_harris()

static float filter_blackman_harris ( float  x)
static

Definition at line 34 of file eevee_temporal_sampling.c.

References cosf, M_PI, width, and x.

Referenced by eevee_create_cdf_table_temporal_sampling().

◆ filter_box()

static float UNUSED_FUNCTION() filter_box ( float   UNUSEDx)
static

Definition at line 29 of file eevee_temporal_sampling.c.

◆ invert_cdf()

static void invert_cdf ( const float  cdf[FILTER_CDF_TABLE_SIZE],
float  invert_cdf[FILTER_CDF_TABLE_SIZE] 
)
static

Definition at line 59 of file eevee_temporal_sampling.c.

References FILTER_CDF_TABLE_SIZE, float(), t, and x.

Referenced by eevee_create_cdf_table_temporal_sampling().

Variable Documentation

◆ 

struct { ... } e_data

◆ inited

bool inited

Definition at line 25 of file eevee_temporal_sampling.c.

◆ inverted_cdf

Definition at line 26 of file eevee_temporal_sampling.c.

Referenced by blender::eevee::Sampling::cdf_invert().