Blender V5.0
eevee_volume_shared.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
12
13#ifndef GPU_SHADER
14namespace blender::eevee {
15#endif
16
18 /* During object voxelization, we need to use an infinite projection matrix to avoid clipping
19 * faces. But they cannot be used for recovering the view position from froxel position as they
20 * are not invertible. We store the finite projection matrix and use it for this purpose. */
23 /* Copies of the matrices above but without jittering. Used for re-projection. */
26 /* Previous render sample copy of winmat_stable. */
28 /* Transform from current view space to previous render sample view space. */
30 /* Size of the froxel grid texture. */
32 /* Maximum light intensity during volume lighting evaluation. */
34 /* Inverse of size of the froxel grid. */
36 /* Maximum light intensity during volume lighting evaluation. */
38 /* 2D scaling factor to make froxel squared. */
40 /* Extent and inverse extent of the main shading view (render extent, not film extent). */
43 /* Size in main view pixels of one froxel in XY. */
45 /* Hi-Z LOD to use during volume shadow tagging. */
47 /* Depth to froxel mapping. */
49 float depth_far;
51 /* Previous render sample copy of the depth mapping parameters. */
55 /* Amount of history to blend during the scatter phase. */
57
58 float _pad1;
59};
61
62#ifndef GPU_SHADER
63} // namespace blender::eevee
64#endif
#define BLI_STATIC_ASSERT_ALIGN(st, align)
Definition BLI_assert.h:86
MatBase< float, 4, 4 > float4x4
VecBase< float, 2 > float2