mirror of
https://github.com/godotengine/godot.git
synced 2025-02-04 10:01:02 +00:00
Fix crash when assigning wrong shader to particle process material
This commit is contained in:
parent
1586c5674b
commit
53e6d30771
@ -1325,10 +1325,11 @@ void ParticlesStorage::particles_set_view_axis(RID p_particles, const Vector3 &p
|
||||
void ParticlesStorage::_particles_update_buffers(Particles *particles) {
|
||||
uint32_t userdata_count = 0;
|
||||
|
||||
MaterialStorage::ShaderData *shader_data = MaterialStorage::get_singleton()->material_get_shader_data(particles->process_material);
|
||||
if (shader_data) {
|
||||
const ParticlesShaderData *particle_shader_data = static_cast<const ParticlesShaderData *>(shader_data);
|
||||
userdata_count = particle_shader_data->userdata_count;
|
||||
if (particles->process_material.is_valid()) {
|
||||
ParticleProcessMaterialData *material_data = static_cast<ParticleProcessMaterialData *>(MaterialStorage::get_singleton()->material_get_data(particles->process_material, MaterialStorage::SHADER_TYPE_PARTICLES));
|
||||
if (material_data && material_data->shader_data->version.is_valid() && material_data->shader_data->valid) {
|
||||
userdata_count = material_data->shader_data->userdata_count;
|
||||
}
|
||||
}
|
||||
|
||||
bool uses_motion_vectors = RSG::viewport->get_num_viewports_with_motion_vectors() > 0 || (RendererCompositorStorage::get_singleton()->get_num_compositor_effects_with_motion_vectors() > 0);
|
||||
|
Loading…
Reference in New Issue
Block a user