mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	Merge pull request #62848 from RandomShaper/shader_writability_improvement
This commit is contained in:
		
						commit
						5bea531228
					
				
					 3 changed files with 14 additions and 7 deletions
				
			
		|  | @ -810,7 +810,8 @@ void GI::SDFGI::create(RendererSceneEnvironmentRD *p_env, const Vector3 &p_world | |||
| 			uniforms.push_back(u); | ||||
| 		} | ||||
| 
 | ||||
| 		cascade.sdf_direct_light_uniform_set = RD::get_singleton()->uniform_set_create(uniforms, gi->sdfgi_shader.direct_light.version_get_shader(gi->sdfgi_shader.direct_light_shader, 0), 0); | ||||
| 		cascade.sdf_direct_light_static_uniform_set = RD::get_singleton()->uniform_set_create(uniforms, gi->sdfgi_shader.direct_light.version_get_shader(gi->sdfgi_shader.direct_light_shader, SDFGIShader::DIRECT_LIGHT_MODE_STATIC), 0); | ||||
| 		cascade.sdf_direct_light_dynamic_uniform_set = RD::get_singleton()->uniform_set_create(uniforms, gi->sdfgi_shader.direct_light.version_get_shader(gi->sdfgi_shader.direct_light_shader, SDFGIShader::DIRECT_LIGHT_MODE_DYNAMIC), 0); | ||||
| 	} | ||||
| 
 | ||||
| 	//preprocess initialize uniform set
 | ||||
|  | @ -1259,7 +1260,7 @@ void GI::SDFGI::update_light() { | |||
| 		} | ||||
| 		cascades[i].all_dynamic_lights_dirty = false; | ||||
| 
 | ||||
| 		RD::get_singleton()->compute_list_bind_uniform_set(compute_list, cascade.sdf_direct_light_uniform_set, 0); | ||||
| 		RD::get_singleton()->compute_list_bind_uniform_set(compute_list, cascade.sdf_direct_light_dynamic_uniform_set, 0); | ||||
| 		RD::get_singleton()->compute_list_set_push_constant(compute_list, &push_constant, sizeof(SDFGIShader::DirectLightPushConstant)); | ||||
| 		RD::get_singleton()->compute_list_dispatch_indirect(compute_list, cascade.solid_cell_dispatch_buffer, 0); | ||||
| 	} | ||||
|  | @ -2413,7 +2414,7 @@ void GI::SDFGI::render_static_lights(RID p_render_buffers, uint32_t p_cascade_co | |||
| 		dl_push_constant.cascade = p_cascade_indices[i]; | ||||
| 
 | ||||
| 		if (dl_push_constant.light_count > 0) { | ||||
| 			RD::get_singleton()->compute_list_bind_uniform_set(compute_list, cc.sdf_direct_light_uniform_set, 0); | ||||
| 			RD::get_singleton()->compute_list_bind_uniform_set(compute_list, cc.sdf_direct_light_static_uniform_set, 0); | ||||
| 			RD::get_singleton()->compute_list_set_push_constant(compute_list, &dl_push_constant, sizeof(SDFGIShader::DirectLightPushConstant)); | ||||
| 			RD::get_singleton()->compute_list_dispatch_indirect(compute_list, cc.solid_cell_dispatch_buffer, 0); | ||||
| 		} | ||||
|  |  | |||
|  | @ -541,7 +541,8 @@ public: | |||
| 			Vector3i dirty_regions; //(0,0,0 is not dirty, negative is refresh from the end, DIRTY_ALL is refresh all.
 | ||||
| 
 | ||||
| 			RID sdf_store_uniform_set; | ||||
| 			RID sdf_direct_light_uniform_set; | ||||
| 			RID sdf_direct_light_static_uniform_set; | ||||
| 			RID sdf_direct_light_dynamic_uniform_set; | ||||
| 			RID scroll_uniform_set; | ||||
| 			RID scroll_occlusion_uniform_set; | ||||
| 			RID integrate_uniform_set; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Rémi Verschelde
						Rémi Verschelde