32 #define _DNA_DEFAULT_ImageFormatData \
34 .planes = R_IMF_PLANES_RGBA, \
35 .imtype = R_IMF_IMTYPE_PNG, \
36 .depth = R_IMF_CHAN_DEPTH_8, \
41 #define _DNA_DEFAULT_BakeData \
43 .im_format = _DNA_DEFAULT_ImageFormatData, \
45 .flag = R_BAKE_CLEAR, \
46 .pass_filter = R_BAKE_PASS_FILTER_ALL, \
50 .normal_space = R_BAKE_SPACE_TANGENT, \
51 .normal_swizzle = {R_BAKE_POSX, R_BAKE_POSY, R_BAKE_POSZ}, \
54 #define _DNA_DEFAULT_FFMpegCodecData \
56 .audio_mixrate = 48000, \
57 .audio_volume = 1.0f, \
58 .audio_bitrate = 192, \
59 .audio_channels = 2, \
62 #define _DNA_DEFAULT_DisplaySafeAreas \
64 .title = {10.0f / 100.0f, 5.0f / 100.0f}, \
65 .action = {3.5f / 100.0f, 3.5f / 100.0f}, \
66 .title_center = {17.5f / 100.0f, 5.0f / 100.0f}, \
67 .action_center = {15.0f / 100.0f, 5.0f / 100.0f}, \
70 #define _DNA_DEFAULT_RenderData \
85 .im_format = _DNA_DEFAULT_ImageFormatData, \
99 .color_mgt_flag = R_COLOR_MANAGEMENT, \
102 .dither_intensity = 1.0f, \
106 .bake_flag = R_BAKE_CLEAR, \
107 .bake_samples = 256, \
108 .bake_biasdist = 0.001f, \
111 .bake = _DNA_DEFAULT_BakeData, \
113 .scemode = R_DOCOMP | R_DOSEQ | R_EXTENSION, \
117 .stamp = R_STAMP_TIME | R_STAMP_FRAME | R_STAMP_DATE | R_STAMP_CAMERA | R_STAMP_SCENE | \
118 R_STAMP_FILENAME | R_STAMP_RENDERTIME | R_STAMP_MEMORY, \
119 .stamp_font_id = 12, \
120 .fg_stamp = {0.8f, 0.8f, 0.8f, 1.0f}, \
121 .bg_stamp = {0.0f, 0.0f, 0.0f, 0.25f}, \
123 .seq_prev_type = OB_SOLID, \
124 .seq_rend_type = OB_SOLID, \
129 .simplify_subsurf = 6, \
130 .simplify_particles = 1.0f, \
131 .simplify_volumes = 1.0f, \
133 .border.xmin = 0.0f, \
134 .border.ymin = 0.0f, \
135 .border.xmax = 1.0f, \
136 .border.ymax = 1.0f, \
138 .preview_start_resolution = 64, \
140 .line_thickness_mode = R_LINE_THICKNESS_ABSOLUTE, \
141 .unit_line_thickness = 1.0f, \
143 .ffcodecdata = _DNA_DEFAULT_FFMpegCodecData, \
146 #define _DNA_DEFAULT_AudioData \
148 .distance_model = 2.0f, \
149 .doppler_factor = 1.0f, \
150 .speed_of_sound = 343.3f, \
152 .flag = AUDIO_SYNC, \
155 #define _DNA_DEFAULT_SceneDisplay \
157 .light_direction = {M_SQRT1_3, M_SQRT1_3, M_SQRT1_3}, \
158 .shadow_shift = 0.1f, \
159 .shadow_focus = 0.0f, \
161 .matcap_ssao_distance = 0.2f, \
162 .matcap_ssao_attenuation = 1.0f, \
163 .matcap_ssao_samples = 16, \
165 .shading = _DNA_DEFAULT_View3DShading, \
167 .render_aa = SCE_DISPLAY_AA_SAMPLES_8, \
168 .viewport_aa = SCE_DISPLAY_AA_FXAA, \
171 #define _DNA_DEFAULT_PhysicsSettings \
173 .gravity = {0.0f, 0.0f, -9.81f}, \
174 .flag = PHYS_GLOBAL_GRAVITY, \
177 #define _DNA_DEFAULT_SceneEEVEE \
179 .gi_diffuse_bounces = 3, \
180 .gi_cubemap_resolution = 512, \
181 .gi_visibility_resolution = 32, \
182 .gi_cubemap_draw_size = 0.3f, \
183 .gi_irradiance_draw_size = 0.1f, \
184 .gi_irradiance_smoothing = 0.1f, \
185 .gi_filter_quality = 3.0f, \
188 .taa_render_samples = 64, \
191 .sss_jitter_threshold = 0.3f, \
193 .ssr_quality = 0.25f, \
194 .ssr_max_roughness = 0.5f, \
195 .ssr_thickness = 0.2f, \
196 .ssr_border_fade = 0.075f, \
197 .ssr_firefly_fac = 10.0f, \
199 .volumetric_start = 0.1f, \
200 .volumetric_end = 100.0f, \
201 .volumetric_tile_size = 8, \
202 .volumetric_samples = 64, \
203 .volumetric_sample_distribution = 0.8f, \
204 .volumetric_light_clamp = 0.0f, \
205 .volumetric_shadow_samples = 16, \
207 .gtao_distance = 0.2f, \
208 .gtao_factor = 1.0f, \
209 .gtao_quality = 0.25f, \
211 .bokeh_overblur = 5.0f, \
212 .bokeh_max_size = 100.0f, \
213 .bokeh_threshold = 1.0f, \
214 .bokeh_neighbor_max = 10.0f, \
215 .bokeh_denoise_fac = 0.75f, \
217 .bloom_color = {1.0f, 1.0f, 1.0f}, \
218 .bloom_threshold = 0.8f, \
219 .bloom_knee = 0.5f, \
220 .bloom_intensity = 0.05f, \
221 .bloom_radius = 6.5f, \
222 .bloom_clamp = 0.0f, \
224 .motion_blur_shutter = 0.5f, \
225 .motion_blur_depth_scale = 100.0f, \
226 .motion_blur_max = 32, \
227 .motion_blur_steps = 1, \
229 .shadow_cube_size = 512, \
230 .shadow_cascade_size = 1024, \
232 .light_cache_data = NULL, \
233 .light_threshold = 0.01f, \
237 .flag = SCE_EEVEE_VOLUMETRIC_LIGHTS | SCE_EEVEE_GTAO_BENT_NORMALS | \
238 SCE_EEVEE_GTAO_BOUNCE | SCE_EEVEE_TAA_REPROJECTION | \
239 SCE_EEVEE_SSR_HALF_RESOLUTION | SCE_EEVEE_SHADOW_SOFT, \
242 #define _DNA_DEFAULT_Scene \
244 .cursor = _DNA_DEFAULT_View3DCursor, \
245 .r = _DNA_DEFAULT_RenderData, \
246 .audio = _DNA_DEFAULT_AudioData, \
248 .display = _DNA_DEFAULT_SceneDisplay, \
250 .physics_settings = _DNA_DEFAULT_PhysicsSettings, \
252 .safe_areas = _DNA_DEFAULT_DisplaySafeAreas, \
254 .eevee = _DNA_DEFAULT_SceneEEVEE, \
263 #define _DNA_DEFAULTS_CurvePaintSettings \
265 .curve_type = CU_BEZIER, \
266 .flag = CURVE_PAINT_FLAG_CORNERS_DETECT, \
267 .error_threshold = 8, \
268 .radius_max = 1.0f, \
269 .corner_angle = DEG2RADF(70.0f), \
272 #define _DNA_DEFAULTS_ImagePaintSettings \
274 .paint.flags = PAINT_SHOW_BRUSH, \
275 .normal_angle = 80, \
279 #define _DNA_DEFAULTS_ParticleBrushData \
287 #define _DNA_DEFAULTS_UnifiedPaintSettings \
290 .unprojected_radius = 0.29, \
293 .flag = UNIFIED_PAINT_SIZE | UNIFIED_PAINT_ALPHA, \
296 #define _DNA_DEFAULTS_ParticleEditSettings \
298 .flag = PE_KEEP_LENGTHS | PE_LOCK_FIRST | PE_DEFLECT_EMITTER | PE_AUTO_VELOCITY, \
299 .emitterdist = 0.25f, \
302 .brushtype = PE_BRUSH_COMB, \
305 .brush = {_DNA_DEFAULTS_ParticleBrushData}, \
309 .selectmode = SCE_SELECT_PATH, \
312 #define _DNA_DEFAULTS_GP_Sculpt_Guide \
317 #define _DNA_DEFAULTS_GP_Sculpt_Settings \
319 .guide = _DNA_DEFAULTS_GP_Sculpt_Guide, \
322 #define _DNA_DEFAULTS_MeshStatVis \
324 .overhang_axis = OB_NEGZ, \
326 .overhang_max = DEG2RADF(45.0f), \
327 .thickness_max = 0.1f, \
328 .thickness_samples = 1, \
329 .distort_min = DEG2RADF(5.0f), \
330 .distort_max = DEG2RADF(45.0f), \
332 .sharp_min = DEG2RADF(90.0f), \
333 .sharp_max = DEG2RADF(180.0f), \
336 #define _DNA_DEFAULT_ToolSettings \
338 .object_flag = SCE_OBJECT_MODE_LOCK, \
339 .doublimit = 0.001, \
340 .vgroup_weight = 1.0f, \
341 .uvcalc_margin = 0.001f, \
342 .uvcalc_flag = UVCALC_TRANSFORM_CORRECT_SLIDE, \
344 .select_thresh = 0.01f, \
346 .selectmode = SCE_SELECT_VERTEX, \
347 .uv_selectmode = UV_SELECT_VERTEX, \
348 .autokey_mode = AUTOKEY_MODE_NORMAL, \
350 .transform_pivot_point = V3D_AROUND_CENTER_MEDIAN, \
351 .snap_mode = SCE_SNAP_MODE_INCREMENT, \
352 .snap_node_mode = SCE_SNAP_MODE_GRID, \
353 .snap_uv_mode = SCE_SNAP_MODE_INCREMENT, \
354 .snap_transform_mode_flag = SCE_SNAP_TRANSFORM_MODE_TRANSLATE, \
356 .curve_paint_settings = _DNA_DEFAULTS_CurvePaintSettings, \
358 .unified_paint_settings = _DNA_DEFAULTS_UnifiedPaintSettings, \
360 .statvis = _DNA_DEFAULTS_MeshStatVis, \
362 .proportional_size = 1.0f, \
364 .imapaint = _DNA_DEFAULTS_ImagePaintSettings, \
366 .particle = _DNA_DEFAULTS_ParticleEditSettings, \
368 .gp_sculpt = _DNA_DEFAULTS_GP_Sculpt_Settings, \
371 .annotate_v3d_align = GP_PROJECT_VIEWSPACE | GP_PROJECT_CURSOR, \
372 .annotate_thickness = 3, \
375 .gpencil_v3d_align = GP_PROJECT_VIEWSPACE, \
376 .gpencil_v2d_align = GP_PROJECT_VIEWSPACE, \
377 .gpencil_seq_align = GP_PROJECT_VIEWSPACE, \
378 .gpencil_ima_align = GP_PROJECT_VIEWSPACE, \