mirror of
https://github.com/godotengine/godot
synced 2024-09-05 05:18:29 +00:00
Add SPECULAR_AMOUNT spatial light shader built-in
Light3D has a light_specular property which is used to set the intensity of specular contributed by this light source, but it was previously only used by the default material light shader, and not possible to use in a custom light() shader.
This commit is contained in:
parent
8c729f0f34
commit
8452e6cdb3
|
@ -771,7 +771,7 @@ void light_compute(vec3 N, vec3 L, vec3 V, float A, vec3 light_color, bool is_di
|
|||
alpha = min(alpha, clamp(1.0 - attenuation, 0.0, 1.0));
|
||||
#endif
|
||||
|
||||
#endif // LIGHT_CODE_USED
|
||||
#endif // USE_LIGHT_SHADER_CODE
|
||||
}
|
||||
|
||||
float get_omni_spot_attenuation(float distance, float inv_range, float decay) {
|
||||
|
|
|
@ -1660,6 +1660,7 @@ MaterialStorage::MaterialStorage() {
|
|||
|
||||
//for light
|
||||
actions.renames["VIEW"] = "view";
|
||||
actions.renames["SPECULAR_AMOUNT"] = "specular_amount";
|
||||
actions.renames["LIGHT_COLOR"] = "light_color";
|
||||
actions.renames["LIGHT_IS_DIRECTIONAL"] = "is_directional";
|
||||
actions.renames["LIGHT"] = "light";
|
||||
|
|
|
@ -641,6 +641,7 @@ void SceneShaderForwardClustered::init(const String p_defines) {
|
|||
|
||||
//for light
|
||||
actions.renames["VIEW"] = "view";
|
||||
actions.renames["SPECULAR_AMOUNT"] = "specular_amount";
|
||||
actions.renames["LIGHT_COLOR"] = "light_color";
|
||||
actions.renames["LIGHT_IS_DIRECTIONAL"] = "is_directional";
|
||||
actions.renames["LIGHT"] = "light";
|
||||
|
|
|
@ -531,6 +531,7 @@ void SceneShaderForwardMobile::init(const String p_defines) {
|
|||
|
||||
//for light
|
||||
actions.renames["VIEW"] = "view";
|
||||
actions.renames["SPECULAR_AMOUNT"] = "specular_amount";
|
||||
actions.renames["LIGHT_COLOR"] = "light_color";
|
||||
actions.renames["LIGHT_IS_DIRECTIONAL"] = "is_directional";
|
||||
actions.renames["LIGHT"] = "light";
|
||||
|
|
|
@ -187,6 +187,7 @@ ShaderTypes::ShaderTypes() {
|
|||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["UV"] = constt(ShaderLanguage::TYPE_VEC2);
|
||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["UV2"] = constt(ShaderLanguage::TYPE_VEC2);
|
||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["VIEW"] = constt(ShaderLanguage::TYPE_VEC3);
|
||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["SPECULAR_AMOUNT"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT"] = constt(ShaderLanguage::TYPE_VEC3);
|
||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT_COLOR"] = constt(ShaderLanguage::TYPE_VEC3);
|
||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["LIGHT_IS_DIRECTIONAL"] = constt(ShaderLanguage::TYPE_BOOL);
|
||||
|
|
Loading…
Reference in a new issue