static void scene_changed(Main *bmain, Scene *scene) { Object *ob; Material *ma; World *wo; /* glsl */ for (ob = bmain->object.first; ob; ob = ob->id.next) { if (ob->gpulamp.first) GPU_lamp_free(ob); if (ob->mode & OB_MODE_TEXTURE_PAINT) { BKE_texpaint_slots_refresh_object(scene, ob); BKE_paint_proj_mesh_data_check(scene, ob, NULL, NULL, NULL, NULL); GPU_drawobject_free(ob->derivedFinal); } } for (ma = bmain->mat.first; ma; ma = ma->id.next) if (ma->gpumaterial.first) GPU_material_free(&ma->gpumaterial); for (wo = bmain->world.first; wo; wo = wo->id.next) if (wo->gpumaterial.first) GPU_material_free(&wo->gpumaterial); if (defmaterial.gpumaterial.first) GPU_material_free(&defmaterial.gpumaterial); }
static void scene_changed(Main *bmain, Scene *UNUSED(scene)) { Object *ob; Material *ma; /* glsl */ for (ob = bmain->object.first; ob; ob = ob->id.next) if (ob->gpulamp.first) GPU_lamp_free(ob); for (ma = bmain->mat.first; ma; ma = ma->id.next) if (ma->gpumaterial.first) GPU_material_free(ma); }
static void lamp_changed(Main *bmain, Lamp *la) { Object *ob; Material *ma; /* icons */ BKE_icon_changed(BKE_icon_getid(&la->id)); /* glsl */ for (ob = bmain->object.first; ob; ob = ob->id.next) if (ob->data == la && ob->gpulamp.first) GPU_lamp_free(ob); for (ma = bmain->mat.first; ma; ma = ma->id.next) if (ma->gpumaterial.first) GPU_material_free(ma); }