diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-10-07 13:13:32 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-10-07 13:43:10 +0300 |
commit | 7b9ce3af98a6690eaba0909f39a3ff1272dd5155 (patch) | |
tree | 0ee8328cf4d27b232d32cfd45c5a31e6a7465201 | |
parent | f11b3ed9b079eace8d7c5855a4c222e84664abc5 (diff) |
GPencil: Use global viewport size instead of DRWView one
This is part of the effor to simplify the View struct in order to implement
multiview rendering.
3 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c index 42c396a0d43..b24e4c605e4 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.c +++ b/source/blender/draw/engines/gpencil/gpencil_engine.c @@ -459,6 +459,7 @@ static void gpencil_layer_cache_populate(bGPDlayer *gpl, DRW_shgroup_uniform_texture(grp, "gpStrokeTexture", iter->tex_stroke); DRW_shgroup_uniform_int_copy(grp, "gpMaterialOffset", iter->mat_ofs); DRW_shgroup_uniform_float_copy(grp, "gpStrokeIndexOffset", iter->stroke_index_offset); + DRW_shgroup_uniform_vec2_copy(grp, "viewportSize", DRW_viewport_size_get()); } static void gpencil_stroke_cache_populate(bGPDlayer *gpl, diff --git a/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl b/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl index b0ee059cb9d..8ed03b23809 100644 --- a/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl +++ b/source/blender/draw/engines/gpencil/shaders/gpencil_vert.glsl @@ -47,7 +47,7 @@ void main() col1, col2, fcol1, - vec4(drw_view.viewport_size, drw_view.viewport_size_inverse), + vec4(viewportSize, 1.0 / viewportSize), gp_flag, gp_mat._alignment_rot, gp_interp.pos, diff --git a/source/blender/draw/engines/gpencil/shaders/infos/gpencil_info.hh b/source/blender/draw/engines/gpencil/shaders/infos/gpencil_info.hh index 9936a7bdf99..edd51e71242 100644 --- a/source/blender/draw/engines/gpencil/shaders/infos/gpencil_info.hh +++ b/source/blender/draw/engines/gpencil/shaders/infos/gpencil_info.hh @@ -28,6 +28,7 @@ GPU_SHADER_CREATE_INFO(gpencil_geometry) .sampler(3, ImageType::FLOAT_2D, "gpMaskTexture") .uniform_buf(4, "gpMaterial", "materials[GPENCIL_MATERIAL_BUFFER_LEN]", Frequency::BATCH) .uniform_buf(3, "gpLight", "lights[GPENCIL_LIGHT_BUFFER_LEN]", Frequency::BATCH) + .push_constant(Type::VEC2, "viewportSize") /* Per Object */ .push_constant(Type::VEC3, "gpNormal") .push_constant(Type::BOOL, "gpStrokeOrder3d") |