mirror of
https://github.com/godotengine/godot.git
synced 2024-12-09 10:09:20 +08:00
Merge pull request #37166 from Chaosus/shader_time
Makes shader 'TIME' available in custom functions by default
This commit is contained in:
commit
6407b60fbf
@ -6284,6 +6284,12 @@ Error ShaderLanguage::_parse_shader(const Map<StringName, FunctionInfo> &p_funct
|
||||
builtin_types = p_functions[name].built_ins;
|
||||
}
|
||||
|
||||
if (p_functions.has("global")) { // Adds global variables: 'TIME'
|
||||
for (Map<StringName, BuiltInInfo>::Element *E = p_functions["global"].built_ins.front(); E; E = E->next()) {
|
||||
builtin_types.insert(E->key(), E->value());
|
||||
}
|
||||
}
|
||||
|
||||
ShaderNode::Function function;
|
||||
|
||||
function.callable = !p_functions.has(name);
|
||||
|
@ -56,6 +56,8 @@ ShaderTypes::ShaderTypes() {
|
||||
|
||||
/*************** SPATIAL ***********************/
|
||||
|
||||
shader_modes[VS::SHADER_SPATIAL].functions["global"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||
|
||||
shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["VERTEX"] = ShaderLanguage::TYPE_VEC3;
|
||||
shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["NORMAL"] = ShaderLanguage::TYPE_VEC3;
|
||||
shader_modes[VS::SHADER_SPATIAL].functions["vertex"].built_ins["TANGENT"] = ShaderLanguage::TYPE_VEC3;
|
||||
@ -200,6 +202,8 @@ ShaderTypes::ShaderTypes() {
|
||||
|
||||
/************ CANVAS ITEM **************************/
|
||||
|
||||
shader_modes[VS::SHADER_CANVAS_ITEM].functions["global"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||
|
||||
shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["VERTEX"] = ShaderLanguage::TYPE_VEC2;
|
||||
shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["UV"] = ShaderLanguage::TYPE_VEC2;
|
||||
shader_modes[VS::SHADER_CANVAS_ITEM].functions["vertex"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4;
|
||||
@ -267,6 +271,7 @@ ShaderTypes::ShaderTypes() {
|
||||
|
||||
/************ PARTICLES **************************/
|
||||
|
||||
shader_modes[VS::SHADER_PARTICLES].functions["global"].built_ins["TIME"] = constt(ShaderLanguage::TYPE_FLOAT);
|
||||
shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["COLOR"] = ShaderLanguage::TYPE_VEC4;
|
||||
shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["VELOCITY"] = ShaderLanguage::TYPE_VEC3;
|
||||
shader_modes[VS::SHADER_PARTICLES].functions["vertex"].built_ins["MASS"] = ShaderLanguage::TYPE_FLOAT;
|
||||
|
Loading…
Reference in New Issue
Block a user