Changeset View
Changeset View
Standalone View
Standalone View
source/blender/draw/engines/workbench/workbench_deferred.c
| Show All 28 Lines | |||||
| #include "BLI_string_utils.h" | #include "BLI_string_utils.h" | ||||
| #include "BKE_modifier.h" | #include "BKE_modifier.h" | ||||
| #include "BKE_object.h" | #include "BKE_object.h" | ||||
| #include "BKE_paint.h" | #include "BKE_paint.h" | ||||
| #include "BKE_particle.h" | #include "BKE_particle.h" | ||||
| #include "DNA_image_types.h" | #include "DNA_image_types.h" | ||||
| #include "DNA_fluid_types.h" | |||||
| #include "DNA_mesh_types.h" | #include "DNA_mesh_types.h" | ||||
| #include "DNA_modifier_types.h" | #include "DNA_modifier_types.h" | ||||
| #include "DNA_node_types.h" | #include "DNA_node_types.h" | ||||
| #include "GPU_shader.h" | #include "GPU_shader.h" | ||||
| #include "GPU_texture.h" | #include "GPU_texture.h" | ||||
| #include "GPU_extensions.h" | #include "GPU_extensions.h" | ||||
| ▲ Show 20 Lines • Show All 931 Lines • ▼ Show 20 Lines | void workbench_deferred_solid_cache_populate(WORKBENCH_Data *vedata, Object *ob) | ||||
| } | } | ||||
| if (ob->type == OB_MESH) { | if (ob->type == OB_MESH) { | ||||
| workbench_cache_populate_particles(vedata, ob); | workbench_cache_populate_particles(vedata, ob); | ||||
| } | } | ||||
| ModifierData *md; | ModifierData *md; | ||||
| if (((ob->base_flag & BASE_FROM_DUPLI) == 0) && | if (((ob->base_flag & BASE_FROM_DUPLI) == 0) && | ||||
| (md = modifiers_findByType(ob, eModifierType_Smoke)) && | (md = modifiers_findByType(ob, eModifierType_Fluid)) && | ||||
| (modifier_isEnabled(scene, md, eModifierMode_Realtime)) && | (modifier_isEnabled(scene, md, eModifierMode_Realtime)) && | ||||
| (((SmokeModifierData *)md)->domain != NULL)) { | (((FluidModifierData *)md)->domain != NULL) && | ||||
| (((FluidModifierData *)md)->domain->type == FLUID_DOMAIN_TYPE_GAS)) { | |||||
| workbench_volume_cache_populate(vedata, scene, ob, md); | workbench_volume_cache_populate(vedata, scene, ob, md); | ||||
| return; /* Do not draw solid in this case. */ | return; /* Do not draw solid in this case. */ | ||||
| } | } | ||||
| if (!(DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF)) { | if (!(DRW_object_visibility_in_active_context(ob) & OB_VISIBLE_SELF)) { | ||||
| return; | return; | ||||
| } | } | ||||
| if ((ob->dt < OB_SOLID) && !DRW_state_is_scene_render()) { | if ((ob->dt < OB_SOLID) && !DRW_state_is_scene_render()) { | ||||
| ▲ Show 20 Lines • Show All 387 Lines • Show Last 20 Lines | |||||