This repository has been archived on 2023-10-09. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
blender-archive/source/blender/makesdna/DNA_scene_defaults.h
Clément Foucault 7dd0be9554 EEVEE: Replace octahedron reflection probe by cubemap array
We implement cubemap array support for EEVEE's lightcache reflection probes.
This removes stretched texels and bottom hemisphere seams artifacts caused
by the octahedral projection previously used.

This introduce versioning code for the lightcache which will discard any
lightcache version that is not compatible.

Differential Revision: https://developer.blender.org/D7066
2020-03-11 17:12:16 +01:00

368 lines
9.4 KiB
C++

/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/** \file
* \ingroup DNA
*/
#ifndef __DNA_SCENE_DEFAULTS_H__
#define __DNA_SCENE_DEFAULTS_H__
#include "DNA_view3d_defaults.h"
/* Struct members on own line. */
/* clang-format off */
/* -------------------------------------------------------------------- */
/** \name Scene Struct
* \{ */
#define _DNA_DEFAULT_ImageFormatData \
{ \
.planes = R_IMF_PLANES_RGBA, \
.imtype = R_IMF_IMTYPE_PNG, \
.depth = R_IMF_CHAN_DEPTH_8, \
.quality = 90, \
.compress = 15, \
}
#define _DNA_DEFAULT_BakeData \
{ \
.im_format = _DNA_DEFAULT_ImageFormatData, \
.filepath = "//", \
.flag = R_BAKE_CLEAR, \
.pass_filter = R_BAKE_PASS_FILTER_ALL, \
.width = 512, \
.height = 512, \
.margin = 16, \
.normal_space = R_BAKE_SPACE_TANGENT, \
.normal_swizzle = {R_BAKE_POSX, R_BAKE_POSY, R_BAKE_POSZ}, \
}
#define _DNA_DEFAULT_FFMpegCodecData \
{ \
.audio_mixrate = 48000, \
.audio_volume = 1.0f, \
.audio_bitrate = 192, \
.audio_channels = 2, \
}
#define _DNA_DEFAULT_DisplaySafeAreas \
{ \
.title = {10.0f / 100.0f, 5.0f / 100.0f}, \
.action = {3.5f / 100.0f, 3.5f / 100.0f}, \
.title_center = {17.5f / 100.0f, 5.0f / 100.0f}, \
.action_center = {15.0f / 100.0f, 5.0f / 100.0f}, \
}
#define _DNA_DEFAULT_RenderData \
{ \
.mode = 0, \
.cfra = 1, \
.sfra = 1, \
.efra = 250, \
.frame_step = 1, \
.xsch = 1920, \
.ysch = 1080, \
.xasp = 1, \
.yasp = 1, \
.tilex = 256, \
.tiley = 256, \
.size = 100, \
\
.im_format = _DNA_DEFAULT_ImageFormatData, \
\
.framapto = 100, \
.images = 100, \
.framelen = 1.0, \
.blurfac = 0.5, \
.frs_sec = 24, \
.frs_sec_base = 1, \
\
/* OCIO_TODO: for forwards compatibility only, so if no tone-curve are used, \
* images would look in the same way as in current blender \
* \
* perhaps at some point should be completely deprecated? \
*/ \
.color_mgt_flag = R_COLOR_MANAGEMENT, \
\
.gauss = 1.5, \
.dither_intensity = 1.0f, \
\
.bake_mode = 0, \
.bake_filter = 16, \
.bake_flag = R_BAKE_CLEAR, \
.bake_samples = 256, \
.bake_biasdist = 0.001f, \
\
/* BakeData */ \
.bake = _DNA_DEFAULT_BakeData, \
\
.scemode = R_DOCOMP | R_DOSEQ | R_EXTENSION, \
\
.pic = "//", \
\
.stamp = R_STAMP_TIME | R_STAMP_FRAME | R_STAMP_DATE | R_STAMP_CAMERA | R_STAMP_SCENE | \
R_STAMP_FILENAME | R_STAMP_RENDERTIME | R_STAMP_MEMORY, \
.stamp_font_id = 12, \
.fg_stamp = {0.8f, 0.8f, 0.8f, 1.0f}, \
.bg_stamp = {0.0f, 0.0f, 0.0f, 0.25f}, \
\
.seq_prev_type = OB_SOLID, \
.seq_rend_type = OB_SOLID, \
.seq_flag = 0, \
\
.threads = 1, \
\
.simplify_subsurf = 6, \
.simplify_particles = 1.0f, \
\
.border.xmin = 0.0f, \
.border.ymin = 0.0f, \
.border.xmax = 1.0f, \
.border.ymax = 1.0f, \
\
.preview_start_resolution = 64, \
\
.line_thickness_mode = R_LINE_THICKNESS_ABSOLUTE, \
.unit_line_thickness = 1.0f, \
\
.ffcodecdata = _DNA_DEFAULT_FFMpegCodecData, \
}
#define _DNA_DEFAULT_AudioData \
{ \
.distance_model = 2.0f, \
.doppler_factor = 1.0f, \
.speed_of_sound = 343.3f, \
.volume = 1.0f, \
.flag = AUDIO_SYNC, \
}
#define _DNA_DEFAULT_SceneDisplay \
{ \
.light_direction = {M_SQRT1_3, M_SQRT1_3, M_SQRT1_3}, \
.shadow_shift = 0.1f, \
.shadow_focus = 0.0f, \
\
.matcap_ssao_distance = 0.2f, \
.matcap_ssao_attenuation = 1.0f, \
.matcap_ssao_samples = 16, \
\
.shading = _DNA_DEFAULT_View3DShading, \
\
.render_aa = SCE_DISPLAY_AA_SAMPLES_8, \
.viewport_aa = SCE_DISPLAY_AA_FXAA, \
}
#define _DNA_DEFAULT_PhysicsSettings \
{ \
.gravity = {0.0f, 0.0f, -9.81f}, \
.flag = PHYS_GLOBAL_GRAVITY, \
}
#define _DNA_DEFAULT_SceneEEVEE \
{ \
.gi_diffuse_bounces = 3, \
.gi_cubemap_resolution = 512, \
.gi_visibility_resolution = 32, \
.gi_cubemap_draw_size = 0.3f, \
.gi_irradiance_draw_size = 0.1f, \
.gi_irradiance_smoothing = 0.1f, \
.gi_filter_quality = 3.0f, \
\
.taa_samples = 16, \
.taa_render_samples = 64, \
\
.sss_samples = 7, \
.sss_jitter_threshold = 0.3f, \
\
.ssr_quality = 0.25f, \
.ssr_max_roughness = 0.5f, \
.ssr_thickness = 0.2f, \
.ssr_border_fade = 0.075f, \
.ssr_firefly_fac = 10.0f, \
\
.volumetric_start = 0.1f, \
.volumetric_end = 100.0f, \
.volumetric_tile_size = 8, \
.volumetric_samples = 64, \
.volumetric_sample_distribution = 0.8f, \
.volumetric_light_clamp = 0.0f, \
.volumetric_shadow_samples = 16, \
\
.gtao_distance = 0.2f, \
.gtao_factor = 1.0f, \
.gtao_quality = 0.25f, \
\
.bokeh_max_size = 100.0f, \
.bokeh_threshold = 1.0f, \
\
.bloom_color = {1.0f, 1.0f, 1.0f}, \
.bloom_threshold = 0.8f, \
.bloom_knee = 0.5f, \
.bloom_intensity = 0.05f, \
.bloom_radius = 6.5f, \
.bloom_clamp = 0.0f, \
\
.motion_blur_samples = 8, \
.motion_blur_shutter = 0.5f, \
\
.shadow_cube_size = 512, \
.shadow_cascade_size = 1024, \
\
.light_cache_data = NULL, \
.light_threshold = 0.01f, \
\
.overscan = 3.0f, \
\
.flag = SCE_EEVEE_VOLUMETRIC_LIGHTS | SCE_EEVEE_GTAO_BENT_NORMALS | \
SCE_EEVEE_GTAO_BOUNCE | SCE_EEVEE_TAA_REPROJECTION | \
SCE_EEVEE_SSR_HALF_RESOLUTION | SCE_EEVEE_SHADOW_SOFT, \
}
#define _DNA_DEFAULT_Scene \
{ \
.cursor = _DNA_DEFAULT_View3DCursor, \
.r = _DNA_DEFAULT_RenderData, \
.audio = _DNA_DEFAULT_AudioData, \
\
.display = _DNA_DEFAULT_SceneDisplay, \
\
.physics_settings = _DNA_DEFAULT_PhysicsSettings, \
\
.safe_areas = _DNA_DEFAULT_DisplaySafeAreas, \
\
.eevee = _DNA_DEFAULT_SceneEEVEE, \
}
/** \} */
/* -------------------------------------------------------------------- */
/** \name ToolSettings Struct
* \{ */
#define _DNA_DEFAULTS_CurvePaintSettings \
{ \
.curve_type = CU_BEZIER, \
.flag = CURVE_PAINT_FLAG_CORNERS_DETECT, \
.error_threshold = 8, \
.radius_max = 1.0f, \
.corner_angle = DEG2RADF(70.0f), \
}
#define _DNA_DEFAULTS_ImagePaintSettings \
{ \
.paint.flags = PAINT_SHOW_BRUSH, \
.normal_angle = 80, \
.seam_bleed = 2, \
}
#define _DNA_DEFAULTS_ParticleBrushData \
{ \
.strength = 0.5f, \
.size = 50, \
.step = 10, \
.count = 10, \
}
#define _DNA_DEFAULTS_ParticleEditSettings \
{ \
.flag = PE_KEEP_LENGTHS | PE_LOCK_FIRST | PE_DEFLECT_EMITTER | PE_AUTO_VELOCITY, \
.emitterdist = 0.25f, \
.totrekey = 5, \
.totaddkey = 5, \
.brushtype = PE_BRUSH_COMB, \
\
/* Scene init copies this to all other elements. */ \
.brush = {_DNA_DEFAULTS_ParticleBrushData}, \
\
.draw_step = 2, \
.fade_frames = 2, \
.selectmode = SCE_SELECT_PATH, \
}
#define _DNA_DEFAULTS_GP_Sculpt_Guide \
{ \
.spacing = 20.0f, \
}
#define _DNA_DEFAULTS_GP_Sculpt_Settings \
{ \
.guide = _DNA_DEFAULTS_GP_Sculpt_Guide, \
}
#define _DNA_DEFAULTS_MeshStatVis \
{ \
.overhang_axis = OB_NEGZ, \
.overhang_min = 0, \
.overhang_max = DEG2RADF(45.0f), \
.thickness_max = 0.1f, \
.thickness_samples = 1, \
.distort_min = DEG2RADF(5.0f), \
.distort_max = DEG2RADF(45.0f), \
\
.sharp_min = DEG2RADF(90.0f), \
.sharp_max = DEG2RADF(180.0f), \
}
#define _DNA_DEFAULT_ToolSettings \
{ \
.object_flag = SCE_OBJECT_MODE_LOCK, \
.doublimit = 0.001, \
.vgroup_weight = 1.0f, \
.uvcalc_margin = 0.001f, \
.uvcalc_flag = UVCALC_TRANSFORM_CORRECT, \
.unwrapper = 1, \
.select_thresh = 0.01f, \
\
.selectmode = SCE_SELECT_VERTEX, \
.uv_selectmode = UV_SELECT_VERTEX, \
.autokey_mode = AUTOKEY_MODE_NORMAL, \
\
.transform_pivot_point = V3D_AROUND_CENTER_MEDIAN, \
.snap_mode = SCE_SNAP_MODE_INCREMENT, \
.snap_node_mode = SCE_SNAP_MODE_GRID, \
.snap_uv_mode = SCE_SNAP_MODE_INCREMENT, \
.snap_transform_mode_flag = SCE_SNAP_TRANSFORM_MODE_TRANSLATE, \
\
.curve_paint_settings = _DNA_DEFAULTS_CurvePaintSettings, \
\
.statvis = _DNA_DEFAULTS_MeshStatVis, \
\
.proportional_size = 1.0f, \
\
.imapaint = _DNA_DEFAULTS_ImagePaintSettings, \
\
.particle = _DNA_DEFAULTS_ParticleEditSettings, \
\
.gp_sculpt = _DNA_DEFAULTS_GP_Sculpt_Settings, \
\
/* Annotations */ \
.annotate_v3d_align = GP_PROJECT_VIEWSPACE | GP_PROJECT_CURSOR, \
.annotate_thickness = 3, \
\
/* GP Stroke Placement */ \
.gpencil_v3d_align = GP_PROJECT_VIEWSPACE, \
.gpencil_v2d_align = GP_PROJECT_VIEWSPACE, \
.gpencil_seq_align = GP_PROJECT_VIEWSPACE, \
.gpencil_ima_align = GP_PROJECT_VIEWSPACE, \
}
/* clang-format off */
#endif /* __DNA_SCENE_DEFAULTS_H__ */