Welcome to mirror list, hosted at ThFree Co, Russian Federation.

eevee_film_info.hh « infos « shaders « eevee_next « engines « draw « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: db82a3265d77703f063732b92d675a985f782f15 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* SPDX-License-Identifier: GPL-2.0-or-later */

#include "eevee_defines.hh"
#include "gpu_shader_create_info.hh"

GPU_SHADER_CREATE_INFO(eevee_film)
    .uniform_buf(6, "FilmData", "film_buf")
    .sampler(0, ImageType::DEPTH_2D, "depth_tx")
    .sampler(1, ImageType::FLOAT_2D, "combined_tx")
    .sampler(2, ImageType::FLOAT_2D, "normal_tx")
    .sampler(3, ImageType::FLOAT_2D, "vector_tx")
    .sampler(4, ImageType::FLOAT_2D_ARRAY, "light_tx")
    .sampler(5, ImageType::FLOAT_2D, "diffuse_color_tx")
    .sampler(6, ImageType::FLOAT_2D, "specular_color_tx")
    .sampler(7, ImageType::FLOAT_2D, "volume_light_tx")
    .sampler(8, ImageType::FLOAT_2D, "emission_tx")
    .sampler(9, ImageType::FLOAT_2D, "environment_tx")
    .sampler(10, ImageType::FLOAT_2D, "shadow_tx")
    .sampler(11, ImageType::FLOAT_2D, "ambient_occlusion_tx")
    .sampler(12, ImageType::FLOAT_2D_ARRAY, "aov_color_tx")
    .sampler(13, ImageType::FLOAT_2D_ARRAY, "aov_value_tx")
    /* Color History for TAA needs to be sampler to leverage bilinear sampling. */
    .sampler(14, ImageType::FLOAT_2D, "in_combined_tx")
    // .sampler(15, ImageType::FLOAT_2D, "cryptomatte_tx") /* TODO */
    .image(0, GPU_R32F, Qualifier::READ, ImageType::FLOAT_2D_ARRAY, "in_weight_img")
    .image(1, GPU_R32F, Qualifier::WRITE, ImageType::FLOAT_2D_ARRAY, "out_weight_img")
    /* Color History for TAA needs to be sampler to leverage bilinear sampling. */
    //.image(2, GPU_RGBA16F, Qualifier::READ, ImageType::FLOAT_2D, "in_combined_img")
    .image(3, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "out_combined_img")
    .image(4, GPU_R32F, Qualifier::READ_WRITE, ImageType::FLOAT_2D, "depth_img")
    .image(5, GPU_RGBA16F, Qualifier::READ_WRITE, ImageType::FLOAT_2D_ARRAY, "color_accum_img")
    .image(6, GPU_R16F, Qualifier::READ_WRITE, ImageType::FLOAT_2D_ARRAY, "value_accum_img")
    .additional_info("eevee_shared")
    .additional_info("eevee_velocity_camera")
    .additional_info("draw_view");

GPU_SHADER_CREATE_INFO(eevee_film_frag)
    .do_static_compilation(true)
    .fragment_out(0, Type::VEC4, "out_color")
    .fragment_source("eevee_film_frag.glsl")
    .additional_info("draw_fullscreen", "eevee_film");

GPU_SHADER_CREATE_INFO(eevee_film_comp)
    .do_static_compilation(true)
    .local_group_size(FILM_GROUP_SIZE, FILM_GROUP_SIZE)
    .compute_source("eevee_film_comp.glsl")
    .additional_info("eevee_film");