summaryrefslogtreecommitdiff
path: root/drivers/gles3/rasterizer_scene_gles3.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gles3/rasterizer_scene_gles3.h')
-rw-r--r--drivers/gles3/rasterizer_scene_gles3.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.h b/drivers/gles3/rasterizer_scene_gles3.h
index 0b934085ed..21711292a0 100644
--- a/drivers/gles3/rasterizer_scene_gles3.h
+++ b/drivers/gles3/rasterizer_scene_gles3.h
@@ -7,6 +7,7 @@
#include "drivers/gles3/shaders/resolve.glsl.h"
#include "drivers/gles3/shaders/screen_space_reflection.glsl.h"
#include "drivers/gles3/shaders/effect_blur.glsl.h"
+#include "drivers/gles3/shaders/subsurf_scattering.glsl.h"
class RasterizerSceneGLES3 : public RasterizerScene {
public:
@@ -22,6 +23,15 @@ public:
uint64_t shadow_atlas_realloc_tolerance_msec;
+ enum SubSurfaceScatterQuality {
+ SSS_QUALITY_LOW,
+ SSS_QUALITY_MEDIUM,
+ SSS_QUALITY_HIGH,
+ };
+
+ SubSurfaceScatterQuality subsurface_scatter_quality;
+ float subsurface_scatter_size;
+ bool subsurface_scatter_follow_surface;
uint64_t render_pass;
uint64_t scene_pass;
@@ -51,6 +61,7 @@ public:
ResolveShaderGLES3 resolve_shader;
ScreenSpaceReflectionShaderGLES3 ssr_shader;
EffectBlurShaderGLES3 effect_blur_shader;
+ SubsurfScatteringShaderGLES3 sss_shader;
struct SceneDataUBO {
@@ -118,6 +129,7 @@ public:
int reflection_probe_count;
bool cull_front;
+ bool used_sss;
} state;