mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 19:42:43 +00:00
Merge pull request #98448 from Chaosus/shader_global_builtins
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Some checks are pending
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
Make `OUTPUT_IS_SRGB/CLIP_SPACE_FAR` shader built-ins global
This commit is contained in:
commit
6732a0fd86
@ -1237,6 +1237,8 @@ MaterialStorage::MaterialStorage() {
|
|||||||
actions.renames["PI"] = _MKSTR(Math_PI);
|
actions.renames["PI"] = _MKSTR(Math_PI);
|
||||||
actions.renames["TAU"] = _MKSTR(Math_TAU);
|
actions.renames["TAU"] = _MKSTR(Math_TAU);
|
||||||
actions.renames["E"] = _MKSTR(Math_E);
|
actions.renames["E"] = _MKSTR(Math_E);
|
||||||
|
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
|
||||||
|
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
|
||||||
actions.renames["VIEWPORT_SIZE"] = "scene_data.viewport_size";
|
actions.renames["VIEWPORT_SIZE"] = "scene_data.viewport_size";
|
||||||
|
|
||||||
actions.renames["FRAGCOORD"] = "gl_FragCoord";
|
actions.renames["FRAGCOORD"] = "gl_FragCoord";
|
||||||
@ -1276,8 +1278,6 @@ MaterialStorage::MaterialStorage() {
|
|||||||
actions.renames["CUSTOM1"] = "custom1_attrib";
|
actions.renames["CUSTOM1"] = "custom1_attrib";
|
||||||
actions.renames["CUSTOM2"] = "custom2_attrib";
|
actions.renames["CUSTOM2"] = "custom2_attrib";
|
||||||
actions.renames["CUSTOM3"] = "custom3_attrib";
|
actions.renames["CUSTOM3"] = "custom3_attrib";
|
||||||
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
|
|
||||||
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
|
|
||||||
actions.renames["LIGHT_VERTEX"] = "light_vertex";
|
actions.renames["LIGHT_VERTEX"] = "light_vertex";
|
||||||
|
|
||||||
actions.renames["NODE_POSITION_WORLD"] = "model_matrix[3].xyz";
|
actions.renames["NODE_POSITION_WORLD"] = "model_matrix[3].xyz";
|
||||||
|
@ -610,6 +610,8 @@ void SceneShaderForwardClustered::init(const String p_defines) {
|
|||||||
actions.renames["PI"] = _MKSTR(Math_PI);
|
actions.renames["PI"] = _MKSTR(Math_PI);
|
||||||
actions.renames["TAU"] = _MKSTR(Math_TAU);
|
actions.renames["TAU"] = _MKSTR(Math_TAU);
|
||||||
actions.renames["E"] = _MKSTR(Math_E);
|
actions.renames["E"] = _MKSTR(Math_E);
|
||||||
|
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
|
||||||
|
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
|
||||||
actions.renames["VIEWPORT_SIZE"] = "read_viewport_size";
|
actions.renames["VIEWPORT_SIZE"] = "read_viewport_size";
|
||||||
|
|
||||||
actions.renames["FRAGCOORD"] = "gl_FragCoord";
|
actions.renames["FRAGCOORD"] = "gl_FragCoord";
|
||||||
@ -649,8 +651,6 @@ void SceneShaderForwardClustered::init(const String p_defines) {
|
|||||||
actions.renames["CUSTOM1"] = "custom1_attrib";
|
actions.renames["CUSTOM1"] = "custom1_attrib";
|
||||||
actions.renames["CUSTOM2"] = "custom2_attrib";
|
actions.renames["CUSTOM2"] = "custom2_attrib";
|
||||||
actions.renames["CUSTOM3"] = "custom3_attrib";
|
actions.renames["CUSTOM3"] = "custom3_attrib";
|
||||||
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
|
|
||||||
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
|
|
||||||
actions.renames["LIGHT_VERTEX"] = "light_vertex";
|
actions.renames["LIGHT_VERTEX"] = "light_vertex";
|
||||||
|
|
||||||
actions.renames["NODE_POSITION_WORLD"] = "read_model_matrix[3].xyz";
|
actions.renames["NODE_POSITION_WORLD"] = "read_model_matrix[3].xyz";
|
||||||
|
@ -521,6 +521,8 @@ void SceneShaderForwardMobile::init(const String p_defines) {
|
|||||||
actions.renames["PI"] = _MKSTR(Math_PI);
|
actions.renames["PI"] = _MKSTR(Math_PI);
|
||||||
actions.renames["TAU"] = _MKSTR(Math_TAU);
|
actions.renames["TAU"] = _MKSTR(Math_TAU);
|
||||||
actions.renames["E"] = _MKSTR(Math_E);
|
actions.renames["E"] = _MKSTR(Math_E);
|
||||||
|
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
|
||||||
|
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
|
||||||
actions.renames["VIEWPORT_SIZE"] = "read_viewport_size";
|
actions.renames["VIEWPORT_SIZE"] = "read_viewport_size";
|
||||||
|
|
||||||
actions.renames["FRAGCOORD"] = "gl_FragCoord";
|
actions.renames["FRAGCOORD"] = "gl_FragCoord";
|
||||||
@ -560,8 +562,6 @@ void SceneShaderForwardMobile::init(const String p_defines) {
|
|||||||
actions.renames["CUSTOM1"] = "custom1_attrib";
|
actions.renames["CUSTOM1"] = "custom1_attrib";
|
||||||
actions.renames["CUSTOM2"] = "custom2_attrib";
|
actions.renames["CUSTOM2"] = "custom2_attrib";
|
||||||
actions.renames["CUSTOM3"] = "custom3_attrib";
|
actions.renames["CUSTOM3"] = "custom3_attrib";
|
||||||
actions.renames["OUTPUT_IS_SRGB"] = "SHADER_IS_SRGB";
|
|
||||||
actions.renames["CLIP_SPACE_FAR"] = "SHADER_SPACE_FAR";
|
|
||||||
actions.renames["LIGHT_VERTEX"] = "light_vertex";
|
actions.renames["LIGHT_VERTEX"] = "light_vertex";
|
||||||
|
|
||||||
actions.renames["NODE_POSITION_WORLD"] = "read_model_matrix[3].xyz";
|
actions.renames["NODE_POSITION_WORLD"] = "read_model_matrix[3].xyz";
|
||||||
|
@ -63,6 +63,8 @@ ShaderTypes::ShaderTypes() {
|
|||||||
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["PI"] = constt(ShaderLanguage::TYPE_FLOAT);
|
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["PI"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["TAU"] = constt(ShaderLanguage::TYPE_FLOAT);
|
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["TAU"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["E"] = constt(ShaderLanguage::TYPE_FLOAT);
|
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["E"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||||
|
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
|
||||||
|
shader_modes[RS::SHADER_SPATIAL].functions["constants"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||||
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["VERTEX"] = ShaderLanguage::TYPE_VEC3;
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["VERTEX"] = ShaderLanguage::TYPE_VEC3;
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3;
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3;
|
||||||
@ -96,8 +98,6 @@ ShaderTypes::ShaderTypes() {
|
|||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_MATRIX"] = ShaderLanguage::TYPE_MAT4;
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_MATRIX"] = ShaderLanguage::TYPE_MAT4;
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_NORMAL_MATRIX"] = ShaderLanguage::TYPE_MAT3;
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MODELVIEW_NORMAL_MATRIX"] = ShaderLanguage::TYPE_MAT3;
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2);
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["VIEWPORT_SIZE"] = constt(ShaderLanguage::TYPE_VEC2);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MAIN_CAM_INV_VIEW_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["MAIN_CAM_INV_VIEW_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
|
||||||
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["NODE_POSITION_WORLD"] = constt(ShaderLanguage::TYPE_VEC3);
|
shader_modes[RS::SHADER_SPATIAL].functions["vertex"].built_ins["NODE_POSITION_WORLD"] = constt(ShaderLanguage::TYPE_VEC3);
|
||||||
@ -159,9 +159,6 @@ ShaderTypes::ShaderTypes() {
|
|||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEW_RIGHT"] = constt(ShaderLanguage::TYPE_INT);
|
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEW_RIGHT"] = constt(ShaderLanguage::TYPE_INT);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["EYE_OFFSET"] = constt(ShaderLanguage::TYPE_VEC3);
|
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["EYE_OFFSET"] = constt(ShaderLanguage::TYPE_VEC3);
|
||||||
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
|
|
||||||
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["MODEL_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
|
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["MODEL_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["MODEL_NORMAL_MATRIX"] = constt(ShaderLanguage::TYPE_MAT3);
|
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["MODEL_NORMAL_MATRIX"] = constt(ShaderLanguage::TYPE_MAT3);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEW_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
|
shader_modes[RS::SHADER_SPATIAL].functions["fragment"].built_ins["VIEW_MATRIX"] = constt(ShaderLanguage::TYPE_MAT4);
|
||||||
@ -203,8 +200,6 @@ ShaderTypes::ShaderTypes() {
|
|||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["ROUGHNESS"] = constt(ShaderLanguage::TYPE_FLOAT);
|
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["ROUGHNESS"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["DIFFUSE_LIGHT"] = ShaderLanguage::TYPE_VEC3;
|
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["DIFFUSE_LIGHT"] = ShaderLanguage::TYPE_VEC3;
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["SPECULAR_LIGHT"] = ShaderLanguage::TYPE_VEC3;
|
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["SPECULAR_LIGHT"] = ShaderLanguage::TYPE_VEC3;
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["OUTPUT_IS_SRGB"] = constt(ShaderLanguage::TYPE_BOOL);
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["CLIP_SPACE_FAR"] = constt(ShaderLanguage::TYPE_FLOAT);
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["ALPHA"] = ShaderLanguage::TYPE_FLOAT;
|
shader_modes[RS::SHADER_SPATIAL].functions["light"].built_ins["ALPHA"] = ShaderLanguage::TYPE_FLOAT;
|
||||||
|
|
||||||
shader_modes[RS::SHADER_SPATIAL].functions["light"].can_discard = true;
|
shader_modes[RS::SHADER_SPATIAL].functions["light"].can_discard = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user