Changeset View
Changeset View
Standalone View
Standalone View
source/blender/modifiers/intern/MOD_subsurf.c
| Show All 24 Lines | |||||
| #include <string.h> | #include <string.h> | ||||
| #include "MEM_guardedalloc.h" | #include "MEM_guardedalloc.h" | ||||
| #include "BLI_utildefines.h" | #include "BLI_utildefines.h" | ||||
| #include "BLT_translation.h" | #include "BLT_translation.h" | ||||
| #include "DNA_defaults.h" | |||||
| #include "DNA_mesh_types.h" | #include "DNA_mesh_types.h" | ||||
| #include "DNA_object_types.h" | #include "DNA_object_types.h" | ||||
| #include "DNA_scene_types.h" | #include "DNA_scene_types.h" | ||||
| #include "DNA_screen_types.h" | #include "DNA_screen_types.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| #include "BKE_mesh.h" | #include "BKE_mesh.h" | ||||
| #include "BKE_scene.h" | #include "BKE_scene.h" | ||||
| Show All 25 Lines | typedef struct SubsurfRuntimeData { | ||||
| /* Cached subdivision surface descriptor, with topology and settings. */ | /* Cached subdivision surface descriptor, with topology and settings. */ | ||||
| struct Subdiv *subdiv; | struct Subdiv *subdiv; | ||||
| } SubsurfRuntimeData; | } SubsurfRuntimeData; | ||||
| static void initData(ModifierData *md) | static void initData(ModifierData *md) | ||||
| { | { | ||||
| SubsurfModifierData *smd = (SubsurfModifierData *)md; | SubsurfModifierData *smd = (SubsurfModifierData *)md; | ||||
| smd->levels = 1; | BLI_assert(MEMCMP_STRUCT_AFTER_IS_ZERO(smd, modifier)); | ||||
| smd->renderLevels = 2; | |||||
| smd->uv_smooth = SUBSURF_UV_SMOOTH_PRESERVE_CORNERS; | MEMCPY_STRUCT_AFTER(smd, DNA_struct_default_get(SubsurfModifierData), modifier); | ||||
| smd->quality = 3; | |||||
| smd->flags |= (eSubsurfModifierFlag_UseCrease | eSubsurfModifierFlag_ControlEdges); | |||||
| } | } | ||||
| static void requiredDataMask(Object *UNUSED(ob), | static void requiredDataMask(Object *UNUSED(ob), | ||||
| ModifierData *md, | ModifierData *md, | ||||
| CustomData_MeshMasks *r_cddata_masks) | CustomData_MeshMasks *r_cddata_masks) | ||||
| { | { | ||||
| SubsurfModifierData *smd = (SubsurfModifierData *)md; | SubsurfModifierData *smd = (SubsurfModifierData *)md; | ||||
| if (smd->flags & eSubsurfModifierFlag_UseCustomNormals) { | if (smd->flags & eSubsurfModifierFlag_UseCustomNormals) { | ||||
| ▲ Show 20 Lines • Show All 422 Lines • Show Last 20 Lines | |||||