Merge pull request #64952 from Chaosus/vs_rename_uniform_to_param
This commit is contained in:
commit
c82bbc38a5
80 changed files with 1523 additions and 1494 deletions
|
|
@ -183,7 +183,7 @@ void RasterizerCanvasGLES3::canvas_render_items(RID p_to_render_target, Item *p_
|
|||
glBindBufferBase(GL_UNIFORM_BUFFER, BASE_UNIFORM_LOCATION, state.canvas_state_buffer);
|
||||
glBufferData(GL_UNIFORM_BUFFER, sizeof(StateBuffer), &state_buffer, GL_STREAM_DRAW);
|
||||
|
||||
GLuint global_buffer = material_storage->global_shader_uniforms_get_uniform_buffer();
|
||||
GLuint global_buffer = material_storage->global_shader_parameters_get_uniform_buffer();
|
||||
|
||||
glBindBufferBase(GL_UNIFORM_BUFFER, GLOBAL_UNIFORM_LOCATION, global_buffer);
|
||||
glBindBuffer(GL_UNIFORM_BUFFER, 0);
|
||||
|
|
|
|||
|
|
@ -1783,7 +1783,7 @@ void RasterizerSceneGLES3::render_scene(const Ref<RenderSceneBuffers> &p_render_
|
|||
// Fill Light lists here
|
||||
//////////
|
||||
|
||||
GLuint global_buffer = GLES3::MaterialStorage::get_singleton()->global_shader_uniforms_get_uniform_buffer();
|
||||
GLuint global_buffer = GLES3::MaterialStorage::get_singleton()->global_shader_parameters_get_uniform_buffer();
|
||||
glBindBufferBase(GL_UNIFORM_BUFFER, SCENE_GLOBALS_UNIFORM_LOCATION, global_buffer);
|
||||
|
||||
Color clear_color;
|
||||
|
|
|
|||
|
|
@ -978,7 +978,7 @@ void MaterialData::update_uniform_buffer(const HashMap<StringName, ShaderLanguag
|
|||
if (gv) {
|
||||
index = gv->buffer_index;
|
||||
} else {
|
||||
WARN_PRINT("Shader uses global uniform '" + E.key + "', but it was removed at some point. Material will not display correctly.");
|
||||
WARN_PRINT("Shader uses global parameter '" + E.key + "', but it was removed at some point. Material will not display correctly.");
|
||||
}
|
||||
|
||||
uint32_t offset = p_uniform_offsets[E.value.order];
|
||||
|
|
@ -1095,7 +1095,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet
|
|||
GlobalShaderUniforms::Variable *v = material_storage->global_shader_uniforms.variables.getptr(uniform_name);
|
||||
if (v) {
|
||||
if (v->buffer_index >= 0) {
|
||||
WARN_PRINT("Shader uses global uniform texture '" + String(uniform_name) + "', but it changed type and is no longer a texture!.");
|
||||
WARN_PRINT("Shader uses global parameter texture '" + String(uniform_name) + "', but it changed type and is no longer a texture!.");
|
||||
|
||||
} else {
|
||||
HashMap<StringName, uint64_t>::Iterator E = used_global_textures.find(uniform_name);
|
||||
|
|
@ -1110,7 +1110,7 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet
|
|||
}
|
||||
|
||||
} else {
|
||||
WARN_PRINT("Shader uses global uniform texture '" + String(uniform_name) + "', but it was removed at some point. Material will not display correctly.");
|
||||
WARN_PRINT("Shader uses global parameter texture '" + String(uniform_name) + "', but it was removed at some point. Material will not display correctly.");
|
||||
}
|
||||
} else {
|
||||
HashMap<StringName, Variant>::ConstIterator V = p_parameters.find(uniform_name);
|
||||
|
|
@ -1762,7 +1762,7 @@ int32_t MaterialStorage::_global_shader_uniform_allocate(uint32_t p_elements) {
|
|||
return -1;
|
||||
}
|
||||
|
||||
void MaterialStorage::_global_shader_uniform_store_in_buffer(int32_t p_index, RS::GlobalShaderUniformType p_type, const Variant &p_value) {
|
||||
void MaterialStorage::_global_shader_uniform_store_in_buffer(int32_t p_index, RS::GlobalShaderParameterType p_type, const Variant &p_value) {
|
||||
switch (p_type) {
|
||||
case RS::GLOBAL_VAR_TYPE_BOOL: {
|
||||
GlobalShaderUniforms::Value &bv = global_shader_uniforms.buffer_values[p_index];
|
||||
|
|
@ -2055,7 +2055,7 @@ void MaterialStorage::_global_shader_uniform_mark_buffer_dirty(int32_t p_index,
|
|||
}
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniform_add(const StringName &p_name, RS::GlobalShaderUniformType p_type, const Variant &p_value) {
|
||||
void MaterialStorage::global_shader_parameter_add(const StringName &p_name, RS::GlobalShaderParameterType p_type, const Variant &p_value) {
|
||||
ERR_FAIL_COND(global_shader_uniforms.variables.has(p_name));
|
||||
GlobalShaderUniforms::Variable gv;
|
||||
gv.type = p_type;
|
||||
|
|
@ -2093,7 +2093,7 @@ void MaterialStorage::global_shader_uniform_add(const StringName &p_name, RS::Gl
|
|||
global_shader_uniforms.variables[p_name] = gv;
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniform_remove(const StringName &p_name) {
|
||||
void MaterialStorage::global_shader_parameter_remove(const StringName &p_name) {
|
||||
if (!global_shader_uniforms.variables.has(p_name)) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -2109,7 +2109,7 @@ void MaterialStorage::global_shader_uniform_remove(const StringName &p_name) {
|
|||
global_shader_uniforms.variables.erase(p_name);
|
||||
}
|
||||
|
||||
Vector<StringName> MaterialStorage::global_shader_uniform_get_list() const {
|
||||
Vector<StringName> MaterialStorage::global_shader_parameter_get_list() const {
|
||||
if (!Engine::get_singleton()->is_editor_hint()) {
|
||||
ERR_FAIL_V_MSG(Vector<StringName>(), "This function should never be used outside the editor, it can severely damage performance.");
|
||||
}
|
||||
|
|
@ -2122,7 +2122,7 @@ Vector<StringName> MaterialStorage::global_shader_uniform_get_list() const {
|
|||
return names;
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniform_set(const StringName &p_name, const Variant &p_value) {
|
||||
void MaterialStorage::global_shader_parameter_set(const StringName &p_name, const Variant &p_value) {
|
||||
ERR_FAIL_COND(!global_shader_uniforms.variables.has(p_name));
|
||||
GlobalShaderUniforms::Variable &gv = global_shader_uniforms.variables[p_name];
|
||||
gv.value = p_value;
|
||||
|
|
@ -2143,7 +2143,7 @@ void MaterialStorage::global_shader_uniform_set(const StringName &p_name, const
|
|||
}
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniform_set_override(const StringName &p_name, const Variant &p_value) {
|
||||
void MaterialStorage::global_shader_parameter_set_override(const StringName &p_name, const Variant &p_value) {
|
||||
if (!global_shader_uniforms.variables.has(p_name)) {
|
||||
return; //variable may not exist
|
||||
}
|
||||
|
|
@ -2174,7 +2174,7 @@ void MaterialStorage::global_shader_uniform_set_override(const StringName &p_nam
|
|||
}
|
||||
}
|
||||
|
||||
Variant MaterialStorage::global_shader_uniform_get(const StringName &p_name) const {
|
||||
Variant MaterialStorage::global_shader_parameter_get(const StringName &p_name) const {
|
||||
if (!Engine::get_singleton()->is_editor_hint()) {
|
||||
ERR_FAIL_V_MSG(Variant(), "This function should never be used outside the editor, it can severely damage performance.");
|
||||
}
|
||||
|
|
@ -2186,7 +2186,7 @@ Variant MaterialStorage::global_shader_uniform_get(const StringName &p_name) con
|
|||
return global_shader_uniforms.variables[p_name].value;
|
||||
}
|
||||
|
||||
RS::GlobalShaderUniformType MaterialStorage::global_shader_uniform_get_type_internal(const StringName &p_name) const {
|
||||
RS::GlobalShaderParameterType MaterialStorage::global_shader_parameter_get_type_internal(const StringName &p_name) const {
|
||||
if (!global_shader_uniforms.variables.has(p_name)) {
|
||||
return RS::GLOBAL_VAR_TYPE_MAX;
|
||||
}
|
||||
|
|
@ -2194,15 +2194,15 @@ RS::GlobalShaderUniformType MaterialStorage::global_shader_uniform_get_type_inte
|
|||
return global_shader_uniforms.variables[p_name].type;
|
||||
}
|
||||
|
||||
RS::GlobalShaderUniformType MaterialStorage::global_shader_uniform_get_type(const StringName &p_name) const {
|
||||
RS::GlobalShaderParameterType MaterialStorage::global_shader_parameter_get_type(const StringName &p_name) const {
|
||||
if (!Engine::get_singleton()->is_editor_hint()) {
|
||||
ERR_FAIL_V_MSG(RS::GLOBAL_VAR_TYPE_MAX, "This function should never be used outside the editor, it can severely damage performance.");
|
||||
}
|
||||
|
||||
return global_shader_uniform_get_type_internal(p_name);
|
||||
return global_shader_parameter_get_type_internal(p_name);
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniforms_load_settings(bool p_load_textures) {
|
||||
void MaterialStorage::global_shader_parameters_load_settings(bool p_load_textures) {
|
||||
List<PropertyInfo> settings;
|
||||
ProjectSettings::get_singleton()->get_property_list(&settings);
|
||||
|
||||
|
|
@ -2247,11 +2247,11 @@ void MaterialStorage::global_shader_uniforms_load_settings(bool p_load_textures)
|
|||
"samplerCube",
|
||||
};
|
||||
|
||||
RS::GlobalShaderUniformType gvtype = RS::GLOBAL_VAR_TYPE_MAX;
|
||||
RS::GlobalShaderParameterType gvtype = RS::GLOBAL_VAR_TYPE_MAX;
|
||||
|
||||
for (int i = 0; i < RS::GLOBAL_VAR_TYPE_MAX; i++) {
|
||||
if (global_var_type_names[i] == type) {
|
||||
gvtype = RS::GlobalShaderUniformType(i);
|
||||
gvtype = RS::GlobalShaderParameterType(i);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -2275,23 +2275,23 @@ void MaterialStorage::global_shader_uniforms_load_settings(bool p_load_textures)
|
|||
|
||||
if (global_shader_uniforms.variables.has(name)) {
|
||||
//has it, update it
|
||||
global_shader_uniform_set(name, value);
|
||||
global_shader_parameter_set(name, value);
|
||||
} else {
|
||||
global_shader_uniform_add(name, gvtype, value);
|
||||
global_shader_parameter_add(name, gvtype, value);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniforms_clear() {
|
||||
void MaterialStorage::global_shader_parameters_clear() {
|
||||
global_shader_uniforms.variables.clear();
|
||||
}
|
||||
|
||||
GLuint MaterialStorage::global_shader_uniforms_get_uniform_buffer() const {
|
||||
GLuint MaterialStorage::global_shader_parameters_get_uniform_buffer() const {
|
||||
return global_shader_uniforms.buffer;
|
||||
}
|
||||
|
||||
int32_t MaterialStorage::global_shader_uniforms_instance_allocate(RID p_instance) {
|
||||
int32_t MaterialStorage::global_shader_parameters_instance_allocate(RID p_instance) {
|
||||
ERR_FAIL_COND_V(global_shader_uniforms.instance_buffer_pos.has(p_instance), -1);
|
||||
int32_t pos = _global_shader_uniform_allocate(ShaderLanguage::MAX_INSTANCE_UNIFORM_INDICES);
|
||||
global_shader_uniforms.instance_buffer_pos[p_instance] = pos; //save anyway
|
||||
|
|
@ -2300,7 +2300,7 @@ int32_t MaterialStorage::global_shader_uniforms_instance_allocate(RID p_instance
|
|||
return pos;
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniforms_instance_free(RID p_instance) {
|
||||
void MaterialStorage::global_shader_parameters_instance_free(RID p_instance) {
|
||||
ERR_FAIL_COND(!global_shader_uniforms.instance_buffer_pos.has(p_instance));
|
||||
int32_t pos = global_shader_uniforms.instance_buffer_pos[p_instance];
|
||||
if (pos >= 0) {
|
||||
|
|
@ -2309,7 +2309,7 @@ void MaterialStorage::global_shader_uniforms_instance_free(RID p_instance) {
|
|||
global_shader_uniforms.instance_buffer_pos.erase(p_instance);
|
||||
}
|
||||
|
||||
void MaterialStorage::global_shader_uniforms_instance_update(RID p_instance, int p_index, const Variant &p_value) {
|
||||
void MaterialStorage::global_shader_parameters_instance_update(RID p_instance, int p_index, const Variant &p_value) {
|
||||
if (!global_shader_uniforms.instance_buffer_pos.has(p_instance)) {
|
||||
return; //just not allocated, ignore
|
||||
}
|
||||
|
|
@ -2498,7 +2498,7 @@ void MaterialStorage::shader_set_code(RID p_shader, const String &p_code) {
|
|||
if (shader->data) {
|
||||
for (const KeyValue<StringName, HashMap<int, RID>> &E : shader->default_texture_parameter) {
|
||||
for (const KeyValue<int, RID> &E2 : E.value) {
|
||||
shader->data->set_default_texture_param(E.key, E2.value, E2.key);
|
||||
shader->data->set_default_texture_parameter(E.key, E2.value, E2.key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2528,7 +2528,7 @@ String MaterialStorage::shader_get_code(RID p_shader) const {
|
|||
return shader->code;
|
||||
}
|
||||
|
||||
void MaterialStorage::shader_get_shader_uniform_list(RID p_shader, List<PropertyInfo> *p_param_list) const {
|
||||
void MaterialStorage::get_shader_parameter_list(RID p_shader, List<PropertyInfo> *p_param_list) const {
|
||||
GLES3::Shader *shader = shader_owner.get_or_null(p_shader);
|
||||
ERR_FAIL_COND(!shader);
|
||||
if (shader->data) {
|
||||
|
|
@ -2536,7 +2536,7 @@ void MaterialStorage::shader_get_shader_uniform_list(RID p_shader, List<Property
|
|||
}
|
||||
}
|
||||
|
||||
void MaterialStorage::shader_set_default_texture_param(RID p_shader, const StringName &p_name, RID p_texture, int p_index) {
|
||||
void MaterialStorage::shader_set_default_texture_parameter(RID p_shader, const StringName &p_name, RID p_texture, int p_index) {
|
||||
GLES3::Shader *shader = shader_owner.get_or_null(p_shader);
|
||||
ERR_FAIL_COND(!shader);
|
||||
|
||||
|
|
@ -2555,7 +2555,7 @@ void MaterialStorage::shader_set_default_texture_param(RID p_shader, const Strin
|
|||
}
|
||||
}
|
||||
if (shader->data) {
|
||||
shader->data->set_default_texture_param(p_name, p_texture, p_index);
|
||||
shader->data->set_default_texture_parameter(p_name, p_texture, p_index);
|
||||
}
|
||||
for (Material *E : shader->owners) {
|
||||
Material *material = E;
|
||||
|
|
@ -2563,7 +2563,7 @@ void MaterialStorage::shader_set_default_texture_param(RID p_shader, const Strin
|
|||
}
|
||||
}
|
||||
|
||||
RID MaterialStorage::shader_get_default_texture_param(RID p_shader, const StringName &p_name, int p_index) const {
|
||||
RID MaterialStorage::shader_get_default_texture_parameter(RID p_shader, const StringName &p_name, int p_index) const {
|
||||
const GLES3::Shader *shader = shader_owner.get_or_null(p_shader);
|
||||
ERR_FAIL_COND_V(!shader, RID());
|
||||
if (shader->default_texture_parameter.has(p_name) && shader->default_texture_parameter[p_name].has(p_index)) {
|
||||
|
|
@ -2573,7 +2573,7 @@ RID MaterialStorage::shader_get_default_texture_param(RID p_shader, const String
|
|||
return RID();
|
||||
}
|
||||
|
||||
Variant MaterialStorage::shader_get_param_default(RID p_shader, const StringName &p_param) const {
|
||||
Variant MaterialStorage::shader_get_parameter_default(RID p_shader, const StringName &p_param) const {
|
||||
Shader *shader = shader_owner.get_or_null(p_shader);
|
||||
ERR_FAIL_COND_V(!shader, Variant());
|
||||
if (shader->data) {
|
||||
|
|
@ -2693,7 +2693,7 @@ void MaterialStorage::material_set_param(RID p_material, const StringName &p_par
|
|||
}
|
||||
|
||||
if (material->shader && material->shader->data) { //shader is valid
|
||||
bool is_texture = material->shader->data->is_param_texture(p_param);
|
||||
bool is_texture = material->shader->data->is_parameter_texture(p_param);
|
||||
_material_queue_update(material, !is_texture, is_texture);
|
||||
} else {
|
||||
_material_queue_update(material, true, true);
|
||||
|
|
@ -2764,14 +2764,14 @@ bool MaterialStorage::material_casts_shadows(RID p_material) {
|
|||
return true; //by default everything casts shadows
|
||||
}
|
||||
|
||||
void MaterialStorage::material_get_instance_shader_uniforms(RID p_material, List<InstanceShaderParam> *r_parameters) {
|
||||
void MaterialStorage::material_get_instance_shader_parameters(RID p_material, List<InstanceShaderParam> *r_parameters) {
|
||||
GLES3::Material *material = material_owner.get_or_null(p_material);
|
||||
ERR_FAIL_COND(!material);
|
||||
if (material->shader && material->shader->data) {
|
||||
material->shader->data->get_instance_param_list(r_parameters);
|
||||
|
||||
if (material->next_pass.is_valid()) {
|
||||
material_get_instance_shader_uniforms(material->next_pass, r_parameters);
|
||||
material_get_instance_shader_parameters(material->next_pass, r_parameters);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2867,7 +2867,7 @@ void CanvasShaderData::set_code(const String &p_code) {
|
|||
valid = true;
|
||||
}
|
||||
|
||||
void CanvasShaderData::set_default_texture_param(const StringName &p_name, RID p_texture, int p_index) {
|
||||
void CanvasShaderData::set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index) {
|
||||
if (!p_texture.is_valid()) {
|
||||
if (default_texture_params.has(p_name) && default_texture_params[p_name].has(p_index)) {
|
||||
default_texture_params[p_name].erase(p_index);
|
||||
|
|
@ -2938,7 +2938,7 @@ void CanvasShaderData::get_instance_param_list(List<RendererMaterialStorage::Ins
|
|||
}
|
||||
}
|
||||
|
||||
bool CanvasShaderData::is_param_texture(const StringName &p_param) const {
|
||||
bool CanvasShaderData::is_parameter_texture(const StringName &p_param) const {
|
||||
if (!uniforms.has(p_param)) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3111,7 +3111,7 @@ void SkyShaderData::set_code(const String &p_code) {
|
|||
valid = true;
|
||||
}
|
||||
|
||||
void SkyShaderData::set_default_texture_param(const StringName &p_name, RID p_texture, int p_index) {
|
||||
void SkyShaderData::set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index) {
|
||||
if (!p_texture.is_valid()) {
|
||||
if (default_texture_params.has(p_name) && default_texture_params[p_name].has(p_index)) {
|
||||
default_texture_params[p_name].erase(p_index);
|
||||
|
|
@ -3180,7 +3180,7 @@ void SkyShaderData::get_instance_param_list(List<RendererMaterialStorage::Instan
|
|||
}
|
||||
}
|
||||
|
||||
bool SkyShaderData::is_param_texture(const StringName &p_param) const {
|
||||
bool SkyShaderData::is_parameter_texture(const StringName &p_param) const {
|
||||
if (!uniforms.has(p_param)) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -3435,7 +3435,7 @@ void SceneShaderData::set_code(const String &p_code) {
|
|||
valid = true;
|
||||
}
|
||||
|
||||
void SceneShaderData::set_default_texture_param(const StringName &p_name, RID p_texture, int p_index) {
|
||||
void SceneShaderData::set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index) {
|
||||
if (!p_texture.is_valid()) {
|
||||
if (default_texture_params.has(p_name) && default_texture_params[p_name].has(p_index)) {
|
||||
default_texture_params[p_name].erase(p_index);
|
||||
|
|
@ -3507,7 +3507,7 @@ void SceneShaderData::get_instance_param_list(List<RendererMaterialStorage::Inst
|
|||
}
|
||||
}
|
||||
|
||||
bool SceneShaderData::is_param_texture(const StringName &p_param) const {
|
||||
bool SceneShaderData::is_parameter_texture(const StringName &p_param) const {
|
||||
if (!uniforms.has(p_param)) {
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,11 +53,11 @@ namespace GLES3 {
|
|||
|
||||
struct ShaderData {
|
||||
virtual void set_code(const String &p_Code) = 0;
|
||||
virtual void set_default_texture_param(const StringName &p_name, RID p_texture, int p_index) = 0;
|
||||
virtual void set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index) = 0;
|
||||
virtual void get_shader_uniform_list(List<PropertyInfo> *p_param_list) const = 0;
|
||||
|
||||
virtual void get_instance_param_list(List<RendererMaterialStorage::InstanceShaderParam> *p_param_list) const = 0;
|
||||
virtual bool is_param_texture(const StringName &p_param) const = 0;
|
||||
virtual bool is_parameter_texture(const StringName &p_param) const = 0;
|
||||
virtual bool is_animated() const = 0;
|
||||
virtual bool casts_shadows() const = 0;
|
||||
virtual Variant get_default_parameter(const StringName &p_parameter) const = 0;
|
||||
|
|
@ -165,11 +165,11 @@ struct CanvasShaderData : public ShaderData {
|
|||
bool uses_time = false;
|
||||
|
||||
virtual void set_code(const String &p_Code);
|
||||
virtual void set_default_texture_param(const StringName &p_name, RID p_texture, int p_index);
|
||||
virtual void set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index);
|
||||
virtual void get_shader_uniform_list(List<PropertyInfo> *p_param_list) const;
|
||||
virtual void get_instance_param_list(List<RendererMaterialStorage::InstanceShaderParam> *p_param_list) const;
|
||||
|
||||
virtual bool is_param_texture(const StringName &p_param) const;
|
||||
virtual bool is_parameter_texture(const StringName &p_param) const;
|
||||
virtual bool is_animated() const;
|
||||
virtual bool casts_shadows() const;
|
||||
virtual Variant get_default_parameter(const StringName &p_parameter) const;
|
||||
|
|
@ -216,10 +216,10 @@ struct SkyShaderData : public ShaderData {
|
|||
bool uses_light;
|
||||
|
||||
virtual void set_code(const String &p_Code);
|
||||
virtual void set_default_texture_param(const StringName &p_name, RID p_texture, int p_index);
|
||||
virtual void set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index);
|
||||
virtual void get_shader_uniform_list(List<PropertyInfo> *p_param_list) const;
|
||||
virtual void get_instance_param_list(List<RendererMaterialStorage::InstanceShaderParam> *p_param_list) const;
|
||||
virtual bool is_param_texture(const StringName &p_param) const;
|
||||
virtual bool is_parameter_texture(const StringName &p_param) const;
|
||||
virtual bool is_animated() const;
|
||||
virtual bool casts_shadows() const;
|
||||
virtual Variant get_default_parameter(const StringName &p_parameter) const;
|
||||
|
|
@ -337,11 +337,11 @@ struct SceneShaderData : public ShaderData {
|
|||
uint32_t index = 0;
|
||||
|
||||
virtual void set_code(const String &p_Code);
|
||||
virtual void set_default_texture_param(const StringName &p_name, RID p_texture, int p_index);
|
||||
virtual void set_default_texture_parameter(const StringName &p_name, RID p_texture, int p_index);
|
||||
virtual void get_shader_uniform_list(List<PropertyInfo> *p_param_list) const;
|
||||
virtual void get_instance_param_list(List<RendererMaterialStorage::InstanceShaderParam> *p_param_list) const;
|
||||
|
||||
virtual bool is_param_texture(const StringName &p_param) const;
|
||||
virtual bool is_parameter_texture(const StringName &p_param) const;
|
||||
virtual bool is_animated() const;
|
||||
virtual bool casts_shadows() const;
|
||||
virtual Variant get_default_parameter(const StringName &p_parameter) const;
|
||||
|
|
@ -376,7 +376,7 @@ struct GlobalShaderUniforms {
|
|||
struct Variable {
|
||||
HashSet<RID> texture_materials; // materials using this
|
||||
|
||||
RS::GlobalShaderUniformType type;
|
||||
RS::GlobalShaderParameterType type;
|
||||
Variant value;
|
||||
Variant override;
|
||||
int32_t buffer_index; //for vectors
|
||||
|
|
@ -437,7 +437,7 @@ private:
|
|||
GlobalShaderUniforms global_shader_uniforms;
|
||||
|
||||
int32_t _global_shader_uniform_allocate(uint32_t p_elements);
|
||||
void _global_shader_uniform_store_in_buffer(int32_t p_index, RS::GlobalShaderUniformType p_type, const Variant &p_value);
|
||||
void _global_shader_uniform_store_in_buffer(int32_t p_index, RS::GlobalShaderParameterType p_type, const Variant &p_value);
|
||||
void _global_shader_uniform_mark_buffer_dirty(int32_t p_index, int32_t p_elements);
|
||||
|
||||
/* SHADER API */
|
||||
|
|
@ -515,24 +515,24 @@ public:
|
|||
|
||||
void _update_global_shader_uniforms();
|
||||
|
||||
virtual void global_shader_uniform_add(const StringName &p_name, RS::GlobalShaderUniformType p_type, const Variant &p_value) override;
|
||||
virtual void global_shader_uniform_remove(const StringName &p_name) override;
|
||||
virtual Vector<StringName> global_shader_uniform_get_list() const override;
|
||||
virtual void global_shader_parameter_add(const StringName &p_name, RS::GlobalShaderParameterType p_type, const Variant &p_value) override;
|
||||
virtual void global_shader_parameter_remove(const StringName &p_name) override;
|
||||
virtual Vector<StringName> global_shader_parameter_get_list() const override;
|
||||
|
||||
virtual void global_shader_uniform_set(const StringName &p_name, const Variant &p_value) override;
|
||||
virtual void global_shader_uniform_set_override(const StringName &p_name, const Variant &p_value) override;
|
||||
virtual Variant global_shader_uniform_get(const StringName &p_name) const override;
|
||||
virtual RS::GlobalShaderUniformType global_shader_uniform_get_type(const StringName &p_name) const override;
|
||||
RS::GlobalShaderUniformType global_shader_uniform_get_type_internal(const StringName &p_name) const;
|
||||
virtual void global_shader_parameter_set(const StringName &p_name, const Variant &p_value) override;
|
||||
virtual void global_shader_parameter_set_override(const StringName &p_name, const Variant &p_value) override;
|
||||
virtual Variant global_shader_parameter_get(const StringName &p_name) const override;
|
||||
virtual RS::GlobalShaderParameterType global_shader_parameter_get_type(const StringName &p_name) const override;
|
||||
RS::GlobalShaderParameterType global_shader_parameter_get_type_internal(const StringName &p_name) const;
|
||||
|
||||
virtual void global_shader_uniforms_load_settings(bool p_load_textures = true) override;
|
||||
virtual void global_shader_uniforms_clear() override;
|
||||
virtual void global_shader_parameters_load_settings(bool p_load_textures = true) override;
|
||||
virtual void global_shader_parameters_clear() override;
|
||||
|
||||
virtual int32_t global_shader_uniforms_instance_allocate(RID p_instance) override;
|
||||
virtual void global_shader_uniforms_instance_free(RID p_instance) override;
|
||||
virtual void global_shader_uniforms_instance_update(RID p_instance, int p_index, const Variant &p_value) override;
|
||||
virtual int32_t global_shader_parameters_instance_allocate(RID p_instance) override;
|
||||
virtual void global_shader_parameters_instance_free(RID p_instance) override;
|
||||
virtual void global_shader_parameters_instance_update(RID p_instance, int p_index, const Variant &p_value) override;
|
||||
|
||||
GLuint global_shader_uniforms_get_uniform_buffer() const;
|
||||
GLuint global_shader_parameters_get_uniform_buffer() const;
|
||||
|
||||
/* SHADER API */
|
||||
|
||||
|
|
@ -548,11 +548,11 @@ public:
|
|||
virtual void shader_set_code(RID p_shader, const String &p_code) override;
|
||||
virtual void shader_set_path_hint(RID p_shader, const String &p_path) override;
|
||||
virtual String shader_get_code(RID p_shader) const override;
|
||||
virtual void shader_get_shader_uniform_list(RID p_shader, List<PropertyInfo> *p_param_list) const override;
|
||||
virtual void get_shader_parameter_list(RID p_shader, List<PropertyInfo> *p_param_list) const override;
|
||||
|
||||
virtual void shader_set_default_texture_param(RID p_shader, const StringName &p_name, RID p_texture, int p_index) override;
|
||||
virtual RID shader_get_default_texture_param(RID p_shader, const StringName &p_name, int p_index) const override;
|
||||
virtual Variant shader_get_param_default(RID p_shader, const StringName &p_param) const override;
|
||||
virtual void shader_set_default_texture_parameter(RID p_shader, const StringName &p_name, RID p_texture, int p_index) override;
|
||||
virtual RID shader_get_default_texture_parameter(RID p_shader, const StringName &p_name, int p_index) const override;
|
||||
virtual Variant shader_get_parameter_default(RID p_shader, const StringName &p_name) const override;
|
||||
|
||||
virtual RS::ShaderNativeSourceCode shader_get_native_source_code(RID p_shader) const override;
|
||||
|
||||
|
|
@ -579,7 +579,7 @@ public:
|
|||
virtual bool material_is_animated(RID p_material) override;
|
||||
virtual bool material_casts_shadows(RID p_material) override;
|
||||
|
||||
virtual void material_get_instance_shader_uniforms(RID p_material, List<InstanceShaderParam> *r_parameters) override;
|
||||
virtual void material_get_instance_shader_parameters(RID p_material, List<InstanceShaderParam> *r_parameters) override;
|
||||
|
||||
virtual void material_update_dependency(RID p_material, DependencyTracker *p_instance) override;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue