diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gles3/rasterizer_scene_gles3.cpp | 4 | ||||
| -rw-r--r-- | drivers/gles3/rasterizer_storage_gles3.cpp | 3 | ||||
| -rw-r--r-- | drivers/gles3/shader_compiler_gles3.cpp | 1 |
3 files changed, 8 insertions, 0 deletions
diff --git a/drivers/gles3/rasterizer_scene_gles3.cpp b/drivers/gles3/rasterizer_scene_gles3.cpp index d559d9628..d380d8d14 100644 --- a/drivers/gles3/rasterizer_scene_gles3.cpp +++ b/drivers/gles3/rasterizer_scene_gles3.cpp @@ -454,6 +454,7 @@ RID RasterizerSceneGLES3::reflection_atlas_create() { ReflectionAtlas *reflection_atlas = memnew( ReflectionAtlas ); reflection_atlas->subdiv=0; reflection_atlas->color=0; + reflection_atlas->size=0; for(int i=0;i<6;i++) { reflection_atlas->fbo[i]=0; } @@ -4576,6 +4577,9 @@ void RasterizerSceneGLES3::_generate_brdf() { void RasterizerSceneGLES3::initialize() { + + render_pass=0; + state.scene_shader.init(); default_shader = storage->shader_create(VS::SHADER_SPATIAL); diff --git a/drivers/gles3/rasterizer_storage_gles3.cpp b/drivers/gles3/rasterizer_storage_gles3.cpp index 24e6be588..ec71f6404 100644 --- a/drivers/gles3/rasterizer_storage_gles3.cpp +++ b/drivers/gles3/rasterizer_storage_gles3.cpp @@ -1476,9 +1476,11 @@ void RasterizerStorageGLES3::_update_shader(Shader* p_shader) const { p_shader->spatial.depth_draw_mode=Shader::Spatial::DEPTH_DRAW_OPAQUE; p_shader->spatial.cull_mode=Shader::Spatial::CULL_MODE_BACK; p_shader->spatial.uses_alpha=false; + p_shader->spatial.uses_discard=false; p_shader->spatial.unshaded=false; p_shader->spatial.ontop=false; p_shader->spatial.uses_sss=false; + p_shader->spatial.uses_vertex=false; shaders.actions_scene.render_mode_values["blend_add"]=Pair<int*,int>(&p_shader->spatial.blend_mode,Shader::Spatial::BLEND_MODE_ADD); shaders.actions_scene.render_mode_values["blend_mix"]=Pair<int*,int>(&p_shader->spatial.blend_mode,Shader::Spatial::BLEND_MODE_MIX); @@ -1501,6 +1503,7 @@ void RasterizerStorageGLES3::_update_shader(Shader* p_shader) const { shaders.actions_scene.usage_flag_pointers["VERTEX"]=&p_shader->spatial.uses_vertex; shaders.actions_scene.usage_flag_pointers["SSS_STRENGTH"]=&p_shader->spatial.uses_sss; + shaders.actions_scene.usage_flag_pointers["DISCARD"]=&p_shader->spatial.uses_discard; actions=&shaders.actions_scene; actions->uniforms=&p_shader->uniforms; diff --git a/drivers/gles3/shader_compiler_gles3.cpp b/drivers/gles3/shader_compiler_gles3.cpp index 5c7a72ab1..336cf7b34 100644 --- a/drivers/gles3/shader_compiler_gles3.cpp +++ b/drivers/gles3/shader_compiler_gles3.cpp @@ -579,6 +579,7 @@ Error ShaderCompilerGLES3::compile(VS::ShaderMode p_mode, const String& p_code, r_gen_code.uses_vertex_time=false; + used_name_defines.clear(); used_rmode_defines.clear(); |
