Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
godot
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
community
godot
Commits
8f47ca8f
Unverified
Commit
8f47ca8f
authored
Mar 30, 2020
by
Rémi Verschelde
Committed by
GitHub
Mar 30, 2020
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #37432 from reduz/glow-bicubic-upscale-global
Move glow upscale quality to a global setting, for consistency
parents
b383484e
89e12631
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
36 additions
and
39 deletions
+36
-39
editor_node.cpp
editor/editor_node.cpp
+3
-0
environment.cpp
scene/resources/environment.cpp
+10
-26
environment.h
scene/resources/environment.h
+0
-4
rasterizer.h
servers/rendering/rasterizer.h
+2
-1
rasterizer_scene_rd.cpp
servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp
+7
-3
rasterizer_scene_rd.h
servers/rendering/rasterizer_rd/rasterizer_scene_rd.h
+3
-2
rendering_server_raster.h
servers/rendering/rendering_server_raster.h
+2
-1
rendering_server_wrap_mt.h
servers/rendering/rendering_server_wrap_mt.h
+2
-1
rendering_server.cpp
servers/rendering_server.cpp
+4
-0
rendering_server.h
servers/rendering_server.h
+3
-1
No files found.
editor/editor_node.cpp
View file @
8f47ca8f
...
@@ -365,6 +365,9 @@ void EditorNode::_notification(int p_what) {
...
@@ -365,6 +365,9 @@ void EditorNode::_notification(int p_what) {
RS
::
get_singleton
()
->
camera_effects_set_dof_blur_quality
(
dof_quality
,
dof_jitter
);
RS
::
get_singleton
()
->
camera_effects_set_dof_blur_quality
(
dof_quality
,
dof_jitter
);
RS
::
get_singleton
()
->
environment_set_ssao_quality
(
RS
::
EnvironmentSSAOQuality
(
int
(
GLOBAL_GET
(
"rendering/quality/ssao/quality"
))),
GLOBAL_GET
(
"rendering/quality/ssao/half_size"
));
RS
::
get_singleton
()
->
environment_set_ssao_quality
(
RS
::
EnvironmentSSAOQuality
(
int
(
GLOBAL_GET
(
"rendering/quality/ssao/quality"
))),
GLOBAL_GET
(
"rendering/quality/ssao/half_size"
));
RS
::
get_singleton
()
->
screen_space_roughness_limiter_set_active
(
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter"
),
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
));
RS
::
get_singleton
()
->
screen_space_roughness_limiter_set_active
(
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter"
),
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
));
bool
glow_bicubic
=
int
(
GLOBAL_GET
(
"rendering/quality/glow/upscale_mode"
))
>
0
;
RS
::
get_singleton
()
->
environment_glow_set_use_bicubic_upscale
(
glow_bicubic
);
}
}
ResourceImporterTexture
::
get_singleton
()
->
update_imports
();
ResourceImporterTexture
::
get_singleton
()
->
update_imports
();
...
...
scene/resources/environment.cpp
View file @
8f47ca8f
...
@@ -546,7 +546,7 @@ float Environment::get_ssao_edge_sharpness() const {
...
@@ -546,7 +546,7 @@ float Environment::get_ssao_edge_sharpness() const {
void
Environment
::
set_glow_enabled
(
bool
p_enabled
)
{
void
Environment
::
set_glow_enabled
(
bool
p_enabled
)
{
glow_enabled
=
p_enabled
;
glow_enabled
=
p_enabled
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
_change_notify
();
_change_notify
();
}
}
...
@@ -564,7 +564,7 @@ void Environment::set_glow_level(int p_level, bool p_enabled) {
...
@@ -564,7 +564,7 @@ void Environment::set_glow_level(int p_level, bool p_enabled) {
else
else
glow_levels
&=
~
(
1
<<
p_level
);
glow_levels
&=
~
(
1
<<
p_level
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
bool
Environment
::
is_glow_level_enabled
(
int
p_level
)
const
{
bool
Environment
::
is_glow_level_enabled
(
int
p_level
)
const
{
...
@@ -577,7 +577,7 @@ void Environment::set_glow_intensity(float p_intensity) {
...
@@ -577,7 +577,7 @@ void Environment::set_glow_intensity(float p_intensity) {
glow_intensity
=
p_intensity
;
glow_intensity
=
p_intensity
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_intensity
()
const
{
float
Environment
::
get_glow_intensity
()
const
{
...
@@ -587,7 +587,7 @@ float Environment::get_glow_intensity() const {
...
@@ -587,7 +587,7 @@ float Environment::get_glow_intensity() const {
void
Environment
::
set_glow_strength
(
float
p_strength
)
{
void
Environment
::
set_glow_strength
(
float
p_strength
)
{
glow_strength
=
p_strength
;
glow_strength
=
p_strength
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_strength
()
const
{
float
Environment
::
get_glow_strength
()
const
{
...
@@ -597,7 +597,7 @@ float Environment::get_glow_strength() const {
...
@@ -597,7 +597,7 @@ float Environment::get_glow_strength() const {
void
Environment
::
set_glow_mix
(
float
p_mix
)
{
void
Environment
::
set_glow_mix
(
float
p_mix
)
{
glow_mix
=
p_mix
;
glow_mix
=
p_mix
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_mix
()
const
{
float
Environment
::
get_glow_mix
()
const
{
...
@@ -608,7 +608,7 @@ void Environment::set_glow_bloom(float p_threshold) {
...
@@ -608,7 +608,7 @@ void Environment::set_glow_bloom(float p_threshold) {
glow_bloom
=
p_threshold
;
glow_bloom
=
p_threshold
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_bloom
()
const
{
float
Environment
::
get_glow_bloom
()
const
{
...
@@ -619,7 +619,7 @@ void Environment::set_glow_blend_mode(GlowBlendMode p_mode) {
...
@@ -619,7 +619,7 @@ void Environment::set_glow_blend_mode(GlowBlendMode p_mode) {
glow_blend_mode
=
p_mode
;
glow_blend_mode
=
p_mode
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
_change_notify
();
_change_notify
();
}
}
Environment
::
GlowBlendMode
Environment
::
get_glow_blend_mode
()
const
{
Environment
::
GlowBlendMode
Environment
::
get_glow_blend_mode
()
const
{
...
@@ -631,7 +631,7 @@ void Environment::set_glow_hdr_bleed_threshold(float p_threshold) {
...
@@ -631,7 +631,7 @@ void Environment::set_glow_hdr_bleed_threshold(float p_threshold) {
glow_hdr_bleed_threshold
=
p_threshold
;
glow_hdr_bleed_threshold
=
p_threshold
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_hdr_bleed_threshold
()
const
{
float
Environment
::
get_glow_hdr_bleed_threshold
()
const
{
...
@@ -642,7 +642,7 @@ void Environment::set_glow_hdr_luminance_cap(float p_amount) {
...
@@ -642,7 +642,7 @@ void Environment::set_glow_hdr_luminance_cap(float p_amount) {
glow_hdr_luminance_cap
=
p_amount
;
glow_hdr_luminance_cap
=
p_amount
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_hdr_luminance_cap
()
const
{
float
Environment
::
get_glow_hdr_luminance_cap
()
const
{
...
@@ -653,24 +653,13 @@ void Environment::set_glow_hdr_bleed_scale(float p_scale) {
...
@@ -653,24 +653,13 @@ void Environment::set_glow_hdr_bleed_scale(float p_scale) {
glow_hdr_bleed_scale
=
p_scale
;
glow_hdr_bleed_scale
=
p_scale
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
);
}
}
float
Environment
::
get_glow_hdr_bleed_scale
()
const
{
float
Environment
::
get_glow_hdr_bleed_scale
()
const
{
return
glow_hdr_bleed_scale
;
return
glow_hdr_bleed_scale
;
}
}
void
Environment
::
set_glow_bicubic_upscale
(
bool
p_enable
)
{
glow_bicubic_upscale
=
p_enable
;
RS
::
get_singleton
()
->
environment_set_glow
(
environment
,
glow_enabled
,
glow_levels
,
glow_intensity
,
glow_strength
,
glow_mix
,
glow_bloom
,
RS
::
EnvironmentGlowBlendMode
(
glow_blend_mode
),
glow_hdr_bleed_threshold
,
glow_hdr_bleed_threshold
,
glow_hdr_luminance_cap
,
glow_bicubic_upscale
);
}
bool
Environment
::
is_glow_bicubic_upscale_enabled
()
const
{
return
glow_bicubic_upscale
;
}
void
Environment
::
set_fog_enabled
(
bool
p_enabled
)
{
void
Environment
::
set_fog_enabled
(
bool
p_enabled
)
{
fog_enabled
=
p_enabled
;
fog_enabled
=
p_enabled
;
...
@@ -1067,9 +1056,6 @@ void Environment::_bind_methods() {
...
@@ -1067,9 +1056,6 @@ void Environment::_bind_methods() {
ClassDB
::
bind_method
(
D_METHOD
(
"set_glow_hdr_bleed_scale"
,
"scale"
),
&
Environment
::
set_glow_hdr_bleed_scale
);
ClassDB
::
bind_method
(
D_METHOD
(
"set_glow_hdr_bleed_scale"
,
"scale"
),
&
Environment
::
set_glow_hdr_bleed_scale
);
ClassDB
::
bind_method
(
D_METHOD
(
"get_glow_hdr_bleed_scale"
),
&
Environment
::
get_glow_hdr_bleed_scale
);
ClassDB
::
bind_method
(
D_METHOD
(
"get_glow_hdr_bleed_scale"
),
&
Environment
::
get_glow_hdr_bleed_scale
);
ClassDB
::
bind_method
(
D_METHOD
(
"set_glow_bicubic_upscale"
,
"enabled"
),
&
Environment
::
set_glow_bicubic_upscale
);
ClassDB
::
bind_method
(
D_METHOD
(
"is_glow_bicubic_upscale_enabled"
),
&
Environment
::
is_glow_bicubic_upscale_enabled
);
ADD_GROUP
(
"Glow"
,
"glow_"
);
ADD_GROUP
(
"Glow"
,
"glow_"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
BOOL
,
"glow_enabled"
),
"set_glow_enabled"
,
"is_glow_enabled"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
BOOL
,
"glow_enabled"
),
"set_glow_enabled"
,
"is_glow_enabled"
);
ADD_PROPERTYI
(
PropertyInfo
(
Variant
::
BOOL
,
"glow_levels/1"
),
"set_glow_level"
,
"is_glow_level_enabled"
,
0
);
ADD_PROPERTYI
(
PropertyInfo
(
Variant
::
BOOL
,
"glow_levels/1"
),
"set_glow_level"
,
"is_glow_level_enabled"
,
0
);
...
@@ -1088,7 +1074,6 @@ void Environment::_bind_methods() {
...
@@ -1088,7 +1074,6 @@ void Environment::_bind_methods() {
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
FLOAT
,
"glow_hdr_threshold"
,
PROPERTY_HINT_RANGE
,
"0.0,4.0,0.01"
),
"set_glow_hdr_bleed_threshold"
,
"get_glow_hdr_bleed_threshold"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
FLOAT
,
"glow_hdr_threshold"
,
PROPERTY_HINT_RANGE
,
"0.0,4.0,0.01"
),
"set_glow_hdr_bleed_threshold"
,
"get_glow_hdr_bleed_threshold"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
FLOAT
,
"glow_hdr_luminance_cap"
,
PROPERTY_HINT_RANGE
,
"0.0,256.0,0.01"
),
"set_glow_hdr_luminance_cap"
,
"get_glow_hdr_luminance_cap"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
FLOAT
,
"glow_hdr_luminance_cap"
,
PROPERTY_HINT_RANGE
,
"0.0,256.0,0.01"
),
"set_glow_hdr_luminance_cap"
,
"get_glow_hdr_luminance_cap"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
FLOAT
,
"glow_hdr_scale"
,
PROPERTY_HINT_RANGE
,
"0.0,4.0,0.01"
),
"set_glow_hdr_bleed_scale"
,
"get_glow_hdr_bleed_scale"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
FLOAT
,
"glow_hdr_scale"
,
PROPERTY_HINT_RANGE
,
"0.0,4.0,0.01"
),
"set_glow_hdr_bleed_scale"
,
"get_glow_hdr_bleed_scale"
);
ADD_PROPERTY
(
PropertyInfo
(
Variant
::
BOOL
,
"glow_bicubic_upscale"
),
"set_glow_bicubic_upscale"
,
"is_glow_bicubic_upscale_enabled"
);
ClassDB
::
bind_method
(
D_METHOD
(
"set_adjustment_enable"
,
"enabled"
),
&
Environment
::
set_adjustment_enable
);
ClassDB
::
bind_method
(
D_METHOD
(
"set_adjustment_enable"
,
"enabled"
),
&
Environment
::
set_adjustment_enable
);
ClassDB
::
bind_method
(
D_METHOD
(
"is_adjustment_enabled"
),
&
Environment
::
is_adjustment_enabled
);
ClassDB
::
bind_method
(
D_METHOD
(
"is_adjustment_enabled"
),
&
Environment
::
is_adjustment_enabled
);
...
@@ -1209,7 +1194,6 @@ Environment::Environment() :
...
@@ -1209,7 +1194,6 @@ Environment::Environment() :
glow_hdr_bleed_threshold
=
1.0
;
glow_hdr_bleed_threshold
=
1.0
;
glow_hdr_luminance_cap
=
12.0
;
glow_hdr_luminance_cap
=
12.0
;
glow_hdr_bleed_scale
=
2.0
;
glow_hdr_bleed_scale
=
2.0
;
glow_bicubic_upscale
=
false
;
fog_enabled
=
false
;
fog_enabled
=
false
;
fog_color
=
Color
(
0.5
,
0.5
,
0.5
);
fog_color
=
Color
(
0.5
,
0.5
,
0.5
);
...
...
scene/resources/environment.h
View file @
8f47ca8f
...
@@ -146,7 +146,6 @@ private:
...
@@ -146,7 +146,6 @@ private:
float
glow_hdr_bleed_threshold
;
float
glow_hdr_bleed_threshold
;
float
glow_hdr_bleed_scale
;
float
glow_hdr_bleed_scale
;
float
glow_hdr_luminance_cap
;
float
glow_hdr_luminance_cap
;
bool
glow_bicubic_upscale
;
bool
fog_enabled
;
bool
fog_enabled
;
Color
fog_color
;
Color
fog_color
;
...
@@ -318,9 +317,6 @@ public:
...
@@ -318,9 +317,6 @@ public:
void
set_glow_hdr_bleed_scale
(
float
p_scale
);
void
set_glow_hdr_bleed_scale
(
float
p_scale
);
float
get_glow_hdr_bleed_scale
()
const
;
float
get_glow_hdr_bleed_scale
()
const
;
void
set_glow_bicubic_upscale
(
bool
p_enable
);
bool
is_glow_bicubic_upscale_enabled
()
const
;
void
set_fog_enabled
(
bool
p_enabled
);
void
set_fog_enabled
(
bool
p_enabled
);
bool
is_fog_enabled
()
const
;
bool
is_fog_enabled
()
const
;
...
...
servers/rendering/rasterizer.h
View file @
8f47ca8f
...
@@ -75,7 +75,8 @@ public:
...
@@ -75,7 +75,8 @@ public:
virtual void environment_set_camera_feed_id(RID p_env, int p_camera_feed_id) = 0;
virtual void environment_set_camera_feed_id(RID p_env, int p_camera_feed_id) = 0;
#endif
#endif
virtual
void
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
RS
::
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
,
bool
p_bicubic_upscale
)
=
0
;
virtual
void
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
RS
::
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
)
=
0
;
virtual
void
environment_glow_set_use_bicubic_upscale
(
bool
p_enable
)
=
0
;
virtual
void
environment_set_fog
(
RID
p_env
,
bool
p_enable
,
float
p_begin
,
float
p_end
,
RID
p_gradient_texture
)
=
0
;
virtual
void
environment_set_fog
(
RID
p_env
,
bool
p_enable
,
float
p_begin
,
float
p_end
,
RID
p_gradient_texture
)
=
0
;
virtual
void
environment_set_ssr
(
RID
p_env
,
bool
p_enable
,
int
p_max_steps
,
float
p_fade_int
,
float
p_fade_out
,
float
p_depth_tolerance
,
bool
p_roughness
)
=
0
;
virtual
void
environment_set_ssr
(
RID
p_env
,
bool
p_enable
,
int
p_max_steps
,
float
p_fade_int
,
float
p_fade_out
,
float
p_depth_tolerance
,
bool
p_roughness
)
=
0
;
...
...
servers/rendering/rasterizer_rd/rasterizer_scene_rd.cpp
View file @
8f47ca8f
...
@@ -1211,7 +1211,7 @@ void RasterizerSceneRD::environment_set_tonemap(RID p_env, RS::EnvironmentToneMa
...
@@ -1211,7 +1211,7 @@ void RasterizerSceneRD::environment_set_tonemap(RID p_env, RS::EnvironmentToneMa
env
->
auto_exp_scale
=
p_auto_exp_scale
;
env
->
auto_exp_scale
=
p_auto_exp_scale
;
}
}
void
RasterizerSceneRD
::
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
RS
::
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
,
bool
p_bicubic_upscale
)
{
void
RasterizerSceneRD
::
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
RS
::
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
)
{
Environent
*
env
=
environment_owner
.
getornull
(
p_env
);
Environent
*
env
=
environment_owner
.
getornull
(
p_env
);
ERR_FAIL_COND
(
!
env
);
ERR_FAIL_COND
(
!
env
);
...
@@ -1225,7 +1225,10 @@ void RasterizerSceneRD::environment_set_glow(RID p_env, bool p_enable, int p_lev
...
@@ -1225,7 +1225,10 @@ void RasterizerSceneRD::environment_set_glow(RID p_env, bool p_enable, int p_lev
env
->
glow_hdr_bleed_threshold
=
p_hdr_bleed_threshold
;
env
->
glow_hdr_bleed_threshold
=
p_hdr_bleed_threshold
;
env
->
glow_hdr_bleed_scale
=
p_hdr_bleed_scale
;
env
->
glow_hdr_bleed_scale
=
p_hdr_bleed_scale
;
env
->
glow_hdr_luminance_cap
=
p_hdr_luminance_cap
;
env
->
glow_hdr_luminance_cap
=
p_hdr_luminance_cap
;
env
->
glow_bicubic_upscale
=
p_bicubic_upscale
;
}
void
RasterizerSceneRD
::
environment_glow_set_use_bicubic_upscale
(
bool
p_enable
)
{
glow_bicubic_upscale
=
p_enable
;
}
}
void
RasterizerSceneRD
::
environment_set_ssao
(
RID
p_env
,
bool
p_enable
,
float
p_radius
,
float
p_intensity
,
float
p_bias
,
float
p_light_affect
,
float
p_ao_channel_affect
,
RS
::
EnvironmentSSAOBlur
p_blur
,
float
p_bilateral_sharpness
)
{
void
RasterizerSceneRD
::
environment_set_ssao
(
RID
p_env
,
bool
p_enable
,
float
p_radius
,
float
p_intensity
,
float
p_bias
,
float
p_light_affect
,
float
p_ao_channel_affect
,
RS
::
EnvironmentSSAOBlur
p_blur
,
float
p_bilateral_sharpness
)
{
...
@@ -3339,7 +3342,7 @@ void RasterizerSceneRD::_render_buffers_post_process_and_tonemap(RID p_render_bu
...
@@ -3339,7 +3342,7 @@ void RasterizerSceneRD::_render_buffers_post_process_and_tonemap(RID p_render_bu
tonemap
.
glow_level_flags
=
glow_mask
;
tonemap
.
glow_level_flags
=
glow_mask
;
tonemap
.
glow_texture_size
.
x
=
rb
->
blur
[
1
].
mipmaps
[
0
].
width
;
tonemap
.
glow_texture_size
.
x
=
rb
->
blur
[
1
].
mipmaps
[
0
].
width
;
tonemap
.
glow_texture_size
.
y
=
rb
->
blur
[
1
].
mipmaps
[
0
].
height
;
tonemap
.
glow_texture_size
.
y
=
rb
->
blur
[
1
].
mipmaps
[
0
].
height
;
tonemap
.
glow_use_bicubic_upscale
=
env
->
glow_bicubic_upscale
;
tonemap
.
glow_use_bicubic_upscale
=
glow_bicubic_upscale
;
tonemap
.
glow_texture
=
rb
->
blur
[
1
].
texture
;
tonemap
.
glow_texture
=
rb
->
blur
[
1
].
texture
;
}
else
{
}
else
{
tonemap
.
glow_texture
=
storage
->
texture_rd_get_default
(
RasterizerStorageRD
::
DEFAULT_RD_TEXTURE_BLACK
);
tonemap
.
glow_texture
=
storage
->
texture_rd_get_default
(
RasterizerStorageRD
::
DEFAULT_RD_TEXTURE_BLACK
);
...
@@ -4008,6 +4011,7 @@ RasterizerSceneRD::RasterizerSceneRD(RasterizerStorageRD *p_storage) {
...
@@ -4008,6 +4011,7 @@ RasterizerSceneRD::RasterizerSceneRD(RasterizerStorageRD *p_storage) {
environment_set_ssao_quality
(
RS
::
EnvironmentSSAOQuality
(
int
(
GLOBAL_GET
(
"rendering/quality/ssao/quality"
))),
GLOBAL_GET
(
"rendering/quality/ssao/half_size"
));
environment_set_ssao_quality
(
RS
::
EnvironmentSSAOQuality
(
int
(
GLOBAL_GET
(
"rendering/quality/ssao/quality"
))),
GLOBAL_GET
(
"rendering/quality/ssao/half_size"
));
screen_space_roughness_limiter
=
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter"
);
screen_space_roughness_limiter
=
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter"
);
screen_space_roughness_limiter_curve
=
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
);
screen_space_roughness_limiter_curve
=
GLOBAL_GET
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
);
glow_bicubic_upscale
=
int
(
GLOBAL_GET
(
"rendering/quality/glow/upscale_mode"
))
>
0
;
}
}
RasterizerSceneRD
::~
RasterizerSceneRD
()
{
RasterizerSceneRD
::~
RasterizerSceneRD
()
{
...
...
servers/rendering/rasterizer_rd/rasterizer_scene_rd.h
View file @
8f47ca8f
...
@@ -646,7 +646,6 @@ private:
...
@@ -646,7 +646,6 @@ private:
float
glow_hdr_bleed_threshold
=
1
.
0
;
float
glow_hdr_bleed_threshold
=
1
.
0
;
float
glow_hdr_luminance_cap
=
12
.
0
;
float
glow_hdr_luminance_cap
=
12
.
0
;
float
glow_hdr_bleed_scale
=
2
.
0
;
float
glow_hdr_bleed_scale
=
2
.
0
;
bool
glow_bicubic_upscale
=
false
;
/// SSAO
/// SSAO
...
@@ -662,6 +661,7 @@ private:
...
@@ -662,6 +661,7 @@ private:
RS
::
EnvironmentSSAOQuality
ssao_quality
=
RS
::
ENV_SSAO_QUALITY_MEDIUM
;
RS
::
EnvironmentSSAOQuality
ssao_quality
=
RS
::
ENV_SSAO_QUALITY_MEDIUM
;
bool
ssao_half_size
=
false
;
bool
ssao_half_size
=
false
;
bool
glow_bicubic_upscale
=
false
;
static
uint64_t
auto_exposure_counter
;
static
uint64_t
auto_exposure_counter
;
...
@@ -827,7 +827,8 @@ public:
...
@@ -827,7 +827,8 @@ public:
bool
is_environment
(
RID
p_env
)
const
;
bool
is_environment
(
RID
p_env
)
const
;
void
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
RS
::
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
,
bool
p_bicubic_upscale
);
void
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
RS
::
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
);
void
environment_glow_set_use_bicubic_upscale
(
bool
p_enable
);
void
environment_set_fog
(
RID
p_env
,
bool
p_enable
,
float
p_begin
,
float
p_end
,
RID
p_gradient_texture
)
{}
void
environment_set_fog
(
RID
p_env
,
bool
p_enable
,
float
p_begin
,
float
p_end
,
RID
p_gradient_texture
)
{}
...
...
servers/rendering/rendering_server_raster.h
View file @
8f47ca8f
...
@@ -527,7 +527,8 @@ public:
...
@@ -527,7 +527,8 @@ public:
BIND9
(
environment_set_ssao
,
RID
,
bool
,
float
,
float
,
float
,
float
,
float
,
EnvironmentSSAOBlur
,
float
)
BIND9
(
environment_set_ssao
,
RID
,
bool
,
float
,
float
,
float
,
float
,
float
,
EnvironmentSSAOBlur
,
float
)
BIND2
(
environment_set_ssao_quality
,
EnvironmentSSAOQuality
,
bool
)
BIND2
(
environment_set_ssao_quality
,
EnvironmentSSAOQuality
,
bool
)
BIND12
(
environment_set_glow
,
RID
,
bool
,
int
,
float
,
float
,
float
,
float
,
EnvironmentGlowBlendMode
,
float
,
float
,
float
,
bool
)
BIND11
(
environment_set_glow
,
RID
,
bool
,
int
,
float
,
float
,
float
,
float
,
EnvironmentGlowBlendMode
,
float
,
float
,
float
)
BIND1
(
environment_glow_set_use_bicubic_upscale
,
bool
)
BIND9
(
environment_set_tonemap
,
RID
,
EnvironmentToneMapper
,
float
,
float
,
bool
,
float
,
float
,
float
,
float
)
BIND9
(
environment_set_tonemap
,
RID
,
EnvironmentToneMapper
,
float
,
float
,
bool
,
float
,
float
,
float
,
float
)
...
...
servers/rendering/rendering_server_wrap_mt.h
View file @
8f47ca8f
...
@@ -442,7 +442,8 @@ public:
...
@@ -442,7 +442,8 @@ public:
FUNC2
(
environment_set_ssao_quality
,
EnvironmentSSAOQuality
,
bool
)
FUNC2
(
environment_set_ssao_quality
,
EnvironmentSSAOQuality
,
bool
)
FUNC12
(
environment_set_glow
,
RID
,
bool
,
int
,
float
,
float
,
float
,
float
,
EnvironmentGlowBlendMode
,
float
,
float
,
float
,
bool
)
FUNC11
(
environment_set_glow
,
RID
,
bool
,
int
,
float
,
float
,
float
,
float
,
EnvironmentGlowBlendMode
,
float
,
float
,
float
)
FUNC1
(
environment_glow_set_use_bicubic_upscale
,
bool
)
FUNC9
(
environment_set_tonemap
,
RID
,
EnvironmentToneMapper
,
float
,
float
,
bool
,
float
,
float
,
float
,
float
)
FUNC9
(
environment_set_tonemap
,
RID
,
EnvironmentToneMapper
,
float
,
float
,
bool
,
float
,
float
,
float
,
float
)
...
...
servers/rendering_server.cpp
View file @
8f47ca8f
...
@@ -2355,6 +2355,10 @@ RenderingServer::RenderingServer() {
...
@@ -2355,6 +2355,10 @@ RenderingServer::RenderingServer() {
ProjectSettings
::
get_singleton
()
->
set_custom_property_info
(
"rendering/quality/filters/screen_space_roughness_limiter"
,
PropertyInfo
(
Variant
::
INT
,
"rendering/quality/filters/screen_space_roughness_limiter"
,
PROPERTY_HINT_ENUM
,
"Disabled,Enabled (Small Cost)"
));
ProjectSettings
::
get_singleton
()
->
set_custom_property_info
(
"rendering/quality/filters/screen_space_roughness_limiter"
,
PropertyInfo
(
Variant
::
INT
,
"rendering/quality/filters/screen_space_roughness_limiter"
,
PROPERTY_HINT_ENUM
,
"Disabled,Enabled (Small Cost)"
));
GLOBAL_DEF
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
,
1.0
);
GLOBAL_DEF
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
,
1.0
);
ProjectSettings
::
get_singleton
()
->
set_custom_property_info
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
,
PropertyInfo
(
Variant
::
FLOAT
,
"rendering/quality/filters/screen_space_roughness_limiter_curve"
,
PROPERTY_HINT_EXP_EASING
,
"0.01,8,0.01"
));
ProjectSettings
::
get_singleton
()
->
set_custom_property_info
(
"rendering/quality/filters/screen_space_roughness_limiter_curve"
,
PropertyInfo
(
Variant
::
FLOAT
,
"rendering/quality/filters/screen_space_roughness_limiter_curve"
,
PROPERTY_HINT_EXP_EASING
,
"0.01,8,0.01"
));
GLOBAL_DEF
(
"rendering/quality/glow/upscale_mode"
,
1
);
ProjectSettings
::
get_singleton
()
->
set_custom_property_info
(
"rendering/quality/glow/upscale_mode"
,
PropertyInfo
(
Variant
::
INT
,
"rendering/quality/glow/upscale_mode"
,
PROPERTY_HINT_ENUM
,
"Linear (Fast),Bicubic (Slower)"
));
GLOBAL_DEF
(
"rendering/quality/glow/upscale_mode.mobile"
,
0
);
}
}
RenderingServer
::~
RenderingServer
()
{
RenderingServer
::~
RenderingServer
()
{
...
...
servers/rendering_server.h
View file @
8f47ca8f
...
@@ -733,7 +733,9 @@ public:
...
@@ -733,7 +733,9 @@ public:
ENV_GLOW_BLEND_MODE_REPLACE
,
ENV_GLOW_BLEND_MODE_REPLACE
,
ENV_GLOW_BLEND_MODE_MIX
,
ENV_GLOW_BLEND_MODE_MIX
,
};
};
virtual
void
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
,
bool
p_bicubic_upscale
)
=
0
;
virtual
void
environment_set_glow
(
RID
p_env
,
bool
p_enable
,
int
p_level_flags
,
float
p_intensity
,
float
p_strength
,
float
p_mix
,
float
p_bloom_threshold
,
EnvironmentGlowBlendMode
p_blend_mode
,
float
p_hdr_bleed_threshold
,
float
p_hdr_bleed_scale
,
float
p_hdr_luminance_cap
)
=
0
;
virtual
void
environment_glow_set_use_bicubic_upscale
(
bool
p_enable
)
=
0
;
enum
EnvironmentToneMapper
{
enum
EnvironmentToneMapper
{
ENV_TONE_MAPPER_LINEAR
,
ENV_TONE_MAPPER_LINEAR
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment