62 int tracing_res[2] = {(int)viewport_size[0] / divisor, (
int)viewport_size[1] / divisor};
63 const int size_fs[2] = {(int)viewport_size[0], (
int)viewport_size[1]};
64 const bool high_qual_input =
true;
67 tracing_res[0] =
max_ii(1, tracing_res[0]);
68 tracing_res[1] =
max_ii(1, tracing_res[1]);
85 GPU_ATTACHMENT_TEXTURE(effects->ssr_hit_output),
86 GPU_ATTACHMENT_TEXTURE(effects->ssr_hit_depth),
228 {GPU_ATTACHMENT_NONE, GPU_ATTACHMENT_TEXTURE(txl->ssr_accum)});
243 const float clear[4] = {0.0f, 0.0f, 0.0f, 0.0f};
typedef float(TangentPoint)[2]
A dynamically sized string ADT.
MINLINE int max_ii(int a, int b)
struct Scene * DEG_get_evaluated_scene(const struct Depsgraph *graph)
@ SCE_EEVEE_SSR_REFRACTION
@ SCE_EEVEE_SSR_HALF_RESOLUTION
#define DRW_PASS_CREATE(pass, state)
#define DRW_shgroup_uniform_block(shgroup, name, ubo)
void GPU_framebuffer_bind(GPUFrameBuffer *fb)
struct GPUShader GPUShader
void GPU_texture_get_mipmap_size(GPUTexture *tex, int lvl, int *size)
const DRWContextState * DRW_context_state_get(void)
const float * DRW_viewport_size_get(void)
void DRW_viewport_request_redraw(void)
void DRW_shgroup_uniform_float_copy(DRWShadingGroup *shgroup, const char *name, const float value)
void DRW_shgroup_uniform_texture(DRWShadingGroup *shgroup, const char *name, const GPUTexture *tex)
bool DRW_view_is_persp_get(const DRWView *view)
void DRW_shgroup_uniform_texture_ref_ex(DRWShadingGroup *shgroup, const char *name, GPUTexture **tex, eGPUSamplerState sampler_state)
void DRW_shgroup_call_procedural_triangles(DRWShadingGroup *shgroup, Object *ob, uint tri_count)
DRWShadingGroup * DRW_shgroup_create(struct GPUShader *shader, DRWPass *pass)
void DRW_shgroup_uniform_int(DRWShadingGroup *shgroup, const char *name, const int *value, int arraysize)
void DRW_shgroup_uniform_texture_ref(DRWShadingGroup *shgroup, const char *name, GPUTexture **tex)
void DRW_shgroup_uniform_vec2_copy(DRWShadingGroup *shgroup, const char *name, const float *value)
void DRW_draw_pass(DRWPass *pass)
void DRW_stats_group_start(const char *name)
void DRW_stats_group_end(void)
void DRW_texture_ensure_fullscreen_2d(GPUTexture **tex, eGPUTextureFormat format, DRWTextureFlag flags)
GPUTexture * DRW_texture_pool_query_2d(int w, int h, eGPUTextureFormat format, DrawEngineType *engine_type)
void EEVEE_effects_downsample_radiance_buffer(EEVEE_Data *vedata, GPUTexture *texture_src)
depth_tx normal_tx diffuse_light_tx specular_light_tx volume_light_tx environment_tx ambient_occlusion_tx aov_value_tx in_weight_img GPU_RGBA16F
struct GPUTexture * EEVEE_materials_get_util_tex(void)
void EEVEE_temporal_sampling_reset(EEVEE_Data *vedata)
struct GPUShader * EEVEE_shaders_effect_reflection_trace_sh_get(void)
struct GPUShader * EEVEE_shaders_effect_reflection_resolve_sh_get(void)
void EEVEE_reflection_compute(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
void EEVEE_screen_raytrace_cache_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
void EEVEE_reflection_output_accumulate(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
int EEVEE_screen_raytrace_init(EEVEE_ViewLayerData *sldata, EEVEE_Data *vedata)
void EEVEE_reflection_output_init(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata, uint tot_samples)
void EEVEE_refraction_compute(EEVEE_ViewLayerData *UNUSED(sldata), EEVEE_Data *vedata)
void GPU_framebuffer_texture_attach(GPUFrameBuffer *fb, GPUTexture *tex, int slot, int mip)
static void clear(Message *msg)
struct Depsgraph * depsgraph
EEVEE_FramebufferList * fbl
struct GPUTexture * gtao_horizons
bool reflection_trace_full
struct GPUTexture * ssr_hit_output
bool ssr_was_valid_double_buffer
struct GPUTexture * ssr_specrough_input
EEVEE_EffectsFlag enabled_effects
struct GPUTexture * ssr_normal_input
struct GPUTexture * ssr_hit_depth
struct GPUFrameBuffer * main_fb
struct GPUFrameBuffer * screen_tracing_fb
struct GPUFrameBuffer * main_color_fb
struct GPUFrameBuffer * ssr_accum_fb
struct DRWPass * ssr_resolve
struct DRWPass * ssr_raytrace
struct LightCache * light_cache
struct EEVEE_PrivateData * g_data
struct EEVEE_EffectsInfo * effects
struct GPUTexture * filtered_radiance
struct GPUTexture * planar_depth
struct GPUTexture * color_double_buffer
struct GPUTexture * maxzbuffer
struct GPUTexture * planar_pool
struct GPUTexture * color
struct GPUTexture * ssr_accum
struct EEVEE_CommonUniformBuffer common_data
struct GPUTexture * shadow_cube_pool
struct GPUUniformBuf * combined
struct GPUUniformBuf * shadow_ubo
struct GPUUniformBuf * probe_ubo
struct GPUUniformBuf * grid_ubo
struct GPUUniformBuf * planar_ubo
struct EEVEE_ViewLayerData::@210 renderpass_ubo
struct GPUUniformBuf * common_ubo
struct GPUUniformBuf * light_ubo
struct GPUTexture * shadow_cascade_pool
LightCacheTexture cube_tx