mirror of
https://github.com/godotengine/godot.git
synced 2025-11-01 14:11:15 +00:00
Make compile shader function to use struct instead long parameter list
This commit is contained in:
parent
ff118d7a88
commit
76f6c0849c
7 changed files with 69 additions and 25 deletions
|
|
@ -204,7 +204,13 @@ void ShaderTextEditor::_code_complete_script(const String &p_code, List<ScriptCo
|
|||
ShaderLanguage sl;
|
||||
String calltip;
|
||||
|
||||
sl.complete(p_code, ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())), ShaderLanguage::VaryingFunctionNames(), ShaderTypes::get_singleton()->get_types(), _get_global_variable_type, r_options, calltip);
|
||||
ShaderLanguage::ShaderCompileInfo info;
|
||||
info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()));
|
||||
info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
|
||||
info.shader_types = ShaderTypes::get_singleton()->get_types();
|
||||
info.global_variable_type_func = _get_global_variable_type;
|
||||
|
||||
sl.complete(p_code, info, r_options, calltip);
|
||||
|
||||
get_text_editor()->set_code_hint(calltip);
|
||||
}
|
||||
|
|
@ -216,12 +222,18 @@ void ShaderTextEditor::_validate_script() {
|
|||
//List<StringName> params;
|
||||
//shader->get_param_list(¶ms);
|
||||
|
||||
ShaderLanguage::ShaderCompileInfo info;
|
||||
info.functions = ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode()));
|
||||
info.render_modes = ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode()));
|
||||
info.shader_types = ShaderTypes::get_singleton()->get_types();
|
||||
info.global_variable_type_func = _get_global_variable_type;
|
||||
|
||||
ShaderLanguage sl;
|
||||
|
||||
sl.enable_warning_checking(saved_warnings_enabled);
|
||||
sl.set_warning_flags(saved_warning_flags);
|
||||
|
||||
Error err = sl.compile(code, ShaderTypes::get_singleton()->get_functions(RenderingServer::ShaderMode(shader->get_mode())), ShaderTypes::get_singleton()->get_modes(RenderingServer::ShaderMode(shader->get_mode())), ShaderLanguage::VaryingFunctionNames(), ShaderTypes::get_singleton()->get_types(), _get_global_variable_type);
|
||||
Error err = sl.compile(code, info);
|
||||
|
||||
if (err != OK) {
|
||||
String error_text = "error(" + itos(sl.get_error_line()) + "): " + sl.get_error_text();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue