18 #define _DNA_DEFAULT_ImageFormatData \
20 .planes = R_IMF_PLANES_RGBA, \
21 .imtype = R_IMF_IMTYPE_PNG, \
22 .depth = R_IMF_CHAN_DEPTH_8, \
27 #define _DNA_DEFAULT_BakeData \
29 .im_format = _DNA_DEFAULT_ImageFormatData, \
31 .flag = R_BAKE_CLEAR, \
32 .pass_filter = R_BAKE_PASS_FILTER_ALL, \
36 .margin_type = R_BAKE_ADJACENT_FACES, \
37 .normal_space = R_BAKE_SPACE_TANGENT, \
38 .normal_swizzle = {R_BAKE_POSX, R_BAKE_POSY, R_BAKE_POSZ}, \
41 #define _DNA_DEFAULT_FFMpegCodecData \
43 .audio_mixrate = 48000, \
44 .audio_volume = 1.0f, \
45 .audio_bitrate = 192, \
46 .audio_channels = 2, \
49 #define _DNA_DEFAULT_DisplaySafeAreas \
51 .title = {10.0f / 100.0f, 5.0f / 100.0f}, \
52 .action = {3.5f / 100.0f, 3.5f / 100.0f}, \
53 .title_center = {17.5f / 100.0f, 5.0f / 100.0f}, \
54 .action_center = {15.0f / 100.0f, 5.0f / 100.0f}, \
57 #define _DNA_DEFAULT_RenderData \
72 .im_format = _DNA_DEFAULT_ImageFormatData, \
86 .color_mgt_flag = R_COLOR_MANAGEMENT, \
89 .dither_intensity = 1.0f, \
93 .bake_margin_type = R_BAKE_ADJACENT_FACES, \
94 .bake_flag = R_BAKE_CLEAR, \
95 .bake_samples = 256, \
96 .bake_biasdist = 0.001f, \
99 .bake = _DNA_DEFAULT_BakeData, \
101 .scemode = R_DOCOMP | R_DOSEQ | R_EXTENSION, \
105 .stamp = R_STAMP_TIME | R_STAMP_FRAME | R_STAMP_DATE | R_STAMP_CAMERA | R_STAMP_SCENE | \
106 R_STAMP_FILENAME | R_STAMP_RENDERTIME | R_STAMP_MEMORY, \
107 .stamp_font_id = 12, \
108 .fg_stamp = {0.8f, 0.8f, 0.8f, 1.0f}, \
109 .bg_stamp = {0.0f, 0.0f, 0.0f, 0.25f}, \
111 .seq_prev_type = OB_SOLID, \
112 .seq_rend_type = OB_SOLID, \
117 .simplify_subsurf = 6, \
118 .simplify_particles = 1.0f, \
119 .simplify_volumes = 1.0f, \
121 .border.xmin = 0.0f, \
122 .border.ymin = 0.0f, \
123 .border.xmax = 1.0f, \
124 .border.ymax = 1.0f, \
126 .line_thickness_mode = R_LINE_THICKNESS_ABSOLUTE, \
127 .unit_line_thickness = 1.0f, \
129 .ffcodecdata = _DNA_DEFAULT_FFMpegCodecData, \
132 #define _DNA_DEFAULT_AudioData \
134 .distance_model = 2.0f, \
135 .doppler_factor = 1.0f, \
136 .speed_of_sound = 343.3f, \
138 .flag = AUDIO_SYNC, \
141 #define _DNA_DEFAULT_SceneDisplay \
143 .light_direction = {M_SQRT1_3, M_SQRT1_3, M_SQRT1_3}, \
144 .shadow_shift = 0.1f, \
145 .shadow_focus = 0.0f, \
147 .matcap_ssao_distance = 0.2f, \
148 .matcap_ssao_attenuation = 1.0f, \
149 .matcap_ssao_samples = 16, \
151 .shading = _DNA_DEFAULT_View3DShading, \
153 .render_aa = SCE_DISPLAY_AA_SAMPLES_8, \
154 .viewport_aa = SCE_DISPLAY_AA_FXAA, \
157 #define _DNA_DEFAULT_PhysicsSettings \
159 .gravity = {0.0f, 0.0f, -9.81f}, \
160 .flag = PHYS_GLOBAL_GRAVITY, \
163 #define _DNA_DEFAULT_SceneEEVEE \
165 .gi_diffuse_bounces = 3, \
166 .gi_cubemap_resolution = 512, \
167 .gi_visibility_resolution = 32, \
168 .gi_cubemap_draw_size = 0.3f, \
169 .gi_irradiance_draw_size = 0.1f, \
170 .gi_irradiance_smoothing = 0.1f, \
171 .gi_filter_quality = 3.0f, \
174 .taa_render_samples = 64, \
177 .sss_jitter_threshold = 0.3f, \
179 .ssr_quality = 0.25f, \
180 .ssr_max_roughness = 0.5f, \
181 .ssr_thickness = 0.2f, \
182 .ssr_border_fade = 0.075f, \
183 .ssr_firefly_fac = 10.0f, \
185 .volumetric_start = 0.1f, \
186 .volumetric_end = 100.0f, \
187 .volumetric_tile_size = 8, \
188 .volumetric_samples = 64, \
189 .volumetric_sample_distribution = 0.8f, \
190 .volumetric_light_clamp = 0.0f, \
191 .volumetric_shadow_samples = 16, \
193 .gtao_distance = 0.2f, \
194 .gtao_factor = 1.0f, \
195 .gtao_quality = 0.25f, \
197 .bokeh_overblur = 5.0f, \
198 .bokeh_max_size = 100.0f, \
199 .bokeh_threshold = 1.0f, \
200 .bokeh_neighbor_max = 10.0f, \
201 .bokeh_denoise_fac = 0.75f, \
203 .bloom_color = {1.0f, 1.0f, 1.0f}, \
204 .bloom_threshold = 0.8f, \
205 .bloom_knee = 0.5f, \
206 .bloom_intensity = 0.05f, \
207 .bloom_radius = 6.5f, \
208 .bloom_clamp = 0.0f, \
210 .motion_blur_shutter = 0.5f, \
211 .motion_blur_depth_scale = 100.0f, \
212 .motion_blur_max = 32, \
213 .motion_blur_steps = 1, \
215 .shadow_cube_size = 512, \
216 .shadow_cascade_size = 1024, \
218 .light_cache_data = NULL, \
219 .light_threshold = 0.01f, \
223 .flag = SCE_EEVEE_VOLUMETRIC_LIGHTS | SCE_EEVEE_GTAO_BENT_NORMALS | \
224 SCE_EEVEE_GTAO_BOUNCE | SCE_EEVEE_TAA_REPROJECTION | \
225 SCE_EEVEE_SSR_HALF_RESOLUTION | SCE_EEVEE_SHADOW_SOFT, \
228 #define _DNA_DEFAULT_Scene \
230 .cursor = _DNA_DEFAULT_View3DCursor, \
231 .r = _DNA_DEFAULT_RenderData, \
232 .audio = _DNA_DEFAULT_AudioData, \
234 .display = _DNA_DEFAULT_SceneDisplay, \
236 .physics_settings = _DNA_DEFAULT_PhysicsSettings, \
238 .safe_areas = _DNA_DEFAULT_DisplaySafeAreas, \
240 .eevee = _DNA_DEFAULT_SceneEEVEE, \
249 #define _DNA_DEFAULTS_CurvePaintSettings \
251 .curve_type = CU_BEZIER, \
252 .flag = CURVE_PAINT_FLAG_CORNERS_DETECT, \
253 .error_threshold = 8, \
254 .radius_max = 1.0f, \
255 .corner_angle = DEG2RADF(70.0f), \
258 #define _DNA_DEFAULTS_ImagePaintSettings \
260 .paint.flags = PAINT_SHOW_BRUSH, \
261 .normal_angle = 80, \
265 #define _DNA_DEFAULTS_ParticleBrushData \
273 #define _DNA_DEFAULTS_UnifiedPaintSettings \
276 .unprojected_radius = 0.29, \
279 .flag = UNIFIED_PAINT_SIZE | UNIFIED_PAINT_ALPHA, \
282 #define _DNA_DEFAULTS_ParticleEditSettings \
284 .flag = PE_KEEP_LENGTHS | PE_LOCK_FIRST | PE_DEFLECT_EMITTER | PE_AUTO_VELOCITY, \
285 .emitterdist = 0.25f, \
288 .brushtype = PE_BRUSH_COMB, \
291 .brush = {_DNA_DEFAULTS_ParticleBrushData}, \
295 .selectmode = SCE_SELECT_PATH, \
298 #define _DNA_DEFAULTS_GP_Sculpt_Guide \
303 #define _DNA_DEFAULTS_GP_Sculpt_Settings \
305 .guide = _DNA_DEFAULTS_GP_Sculpt_Guide, \
308 #define _DNA_DEFAULTS_MeshStatVis \
310 .overhang_axis = OB_NEGZ, \
312 .overhang_max = DEG2RADF(45.0f), \
313 .thickness_max = 0.1f, \
314 .thickness_samples = 1, \
315 .distort_min = DEG2RADF(5.0f), \
316 .distort_max = DEG2RADF(45.0f), \
318 .sharp_min = DEG2RADF(90.0f), \
319 .sharp_max = DEG2RADF(180.0f), \
322 #define _DNA_DEFAULT_ToolSettings \
324 .object_flag = SCE_OBJECT_MODE_LOCK, \
325 .doublimit = 0.001, \
326 .vgroup_weight = 1.0f, \
327 .uvcalc_margin = 0.001f, \
328 .uvcalc_flag = UVCALC_TRANSFORM_CORRECT_SLIDE, \
330 .select_thresh = 0.01f, \
332 .selectmode = SCE_SELECT_VERTEX, \
333 .uv_selectmode = UV_SELECT_VERTEX, \
334 .autokey_mode = AUTOKEY_MODE_NORMAL, \
336 .transform_pivot_point = V3D_AROUND_CENTER_MEDIAN, \
337 .snap_mode = SCE_SNAP_MODE_INCREMENT, \
338 .snap_node_mode = SCE_SNAP_MODE_GRID, \
339 .snap_uv_mode = SCE_SNAP_MODE_INCREMENT, \
340 .snap_flag = SCE_SNAP_TO_INCLUDE_EDITED | SCE_SNAP_TO_INCLUDE_NONEDITED, \
341 .snap_transform_mode_flag = SCE_SNAP_TRANSFORM_MODE_TRANSLATE, \
342 .snap_face_nearest_steps = 1, \
344 .curve_paint_settings = _DNA_DEFAULTS_CurvePaintSettings, \
346 .unified_paint_settings = _DNA_DEFAULTS_UnifiedPaintSettings, \
348 .statvis = _DNA_DEFAULTS_MeshStatVis, \
350 .proportional_size = 1.0f, \
352 .imapaint = _DNA_DEFAULTS_ImagePaintSettings, \
354 .particle = _DNA_DEFAULTS_ParticleEditSettings, \
356 .gp_sculpt = _DNA_DEFAULTS_GP_Sculpt_Settings, \
359 .annotate_v3d_align = GP_PROJECT_VIEWSPACE | GP_PROJECT_CURSOR, \
360 .annotate_thickness = 3, \
363 .gpencil_v3d_align = GP_PROJECT_VIEWSPACE, \
364 .gpencil_v2d_align = GP_PROJECT_VIEWSPACE, \
367 .uv_sculpt_settings = 0, \
368 .uv_relax_method = UV_SCULPT_TOOL_RELAX_LAPLACIAN, \