diff options
author | Jeroen Bakker <j.bakker@atmind.nl> | 2018-06-18 09:51:29 +0300 |
---|---|---|
committer | Jeroen Bakker <j.bakker@atmind.nl> | 2018-06-18 09:54:08 +0300 |
commit | 04e2a5cef419a9fcfac0bdd92496815ae7bb2af3 (patch) | |
tree | d2debcc2e412775838dcb87dc50200fc15400da9 /source/blender/draw/engines | |
parent | 79546a4eb6fef478e005ffc15177ca17b3866127 (diff) |
Refactor: Put ViewportAA as UserPref
By default users want AA in the viewport. For slower systems you want to
be able to turn it off. As in the future we would also like to support
TAA in the viewport we introduced it as a Max Viewport AA settings.
Also removed the drawoption to enable/disable AA per viewport
When rendering the AA is always turned on.
Diffstat (limited to 'source/blender/draw/engines')
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_data.c | 1 | ||||
-rw-r--r-- | source/blender/draw/engines/workbench/workbench_private.h | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/draw/engines/workbench/workbench_data.c b/source/blender/draw/engines/workbench/workbench_data.c index 72d59068e03..45af9366a43 100644 --- a/source/blender/draw/engines/workbench/workbench_data.c +++ b/source/blender/draw/engines/workbench/workbench_data.c @@ -10,6 +10,7 @@ void workbench_private_data_init(WORKBENCH_PrivateData *wpd) const DRWContextState *draw_ctx = DRW_context_state_get(); const Scene *scene = draw_ctx->scene; wpd->material_hash = BLI_ghash_ptr_new(__func__); + wpd->user_preferences = &U; View3D *v3d = draw_ctx->v3d; if (v3d) { diff --git a/source/blender/draw/engines/workbench/workbench_private.h b/source/blender/draw/engines/workbench/workbench_private.h index 7a74deed357..90d8cfc3dd2 100644 --- a/source/blender/draw/engines/workbench/workbench_private.h +++ b/source/blender/draw/engines/workbench/workbench_private.h @@ -32,6 +32,7 @@ #include "DNA_image_types.h" #include "DNA_view3d_types.h" #include "DNA_world_types.h" +#include "DNA_userdef_types.h" #include "DRW_render.h" @@ -50,7 +51,7 @@ #define STUDIOLIGHT_ORIENTATION_VIEWNORMAL_ENABLED(wpd) (MATCAP_ENABLED(wpd) && (wpd->studio_light->flag & STUDIOLIGHT_ORIENTATION_VIEWNORMAL)) #define CAVITY_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_CAVITY) #define SHADOW_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_SHADOW) -#define FXAA_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_EFFECT_FXAA && (!DRW_state_is_opengl_render())) +#define FXAA_ENABLED(wpd) (wpd->user_preferences->gpu_viewport_antialias & USER_AA_FXAA && (!DRW_state_is_opengl_render())) #define SPECULAR_HIGHLIGHT_ENABLED(wpd) ((wpd->shading.flag & V3D_SHADING_SPECULAR_HIGHLIGHT) && (!STUDIOLIGHT_ORIENTATION_VIEWNORMAL_ENABLED(wpd))) #define OBJECT_ID_PASS_ENABLED(wpd) (wpd->shading.flag & V3D_SHADING_OBJECT_OUTLINE) #define NORMAL_VIEWPORT_COMP_PASS_ENABLED(wpd) (MATCAP_ENABLED(wpd) || STUDIOLIGHT_ENABLED(wpd) || SHADOW_ENABLED(wpd) || SPECULAR_HIGHLIGHT_ENABLED(wpd)) @@ -150,6 +151,7 @@ typedef struct WORKBENCH_PrivateData { struct GPUShader *transparent_accum_texture_hair_sh; View3DShading shading; StudioLight *studio_light; + UserDef *user_preferences; int drawtype; struct GPUUniformBuffer *world_ubo; struct DRWShadingGroup *shadow_shgrp; |