Rgression from rBaf4dcc6073fa. paint_sample_color > imapaint_pick_face uses the the selection buffer (DRW_select_buffer_sample_point) and to get flat colors [select_id_flat] we need to be in SCE_SELECT_FACE mode. This was already fine if you had 'Face Selection Masking' turned on, but got colors including lighting when turned of [select_id_uniform]. There was already an exception in 'select_cache_init' that turns on SCE_SELECT_FACE for weightpaint, we just need this for texture paint (vertex paint) as well... Also moved the logic into select_id_get_object_select_mode. Note we were also asserting here: BLI_assert failed: /blender/source/blender/draw/engines/select/ select_engine.c:174, select_cache_init(), at 'e_data.context.select_mode != 0' Note also this is not working correctly for vertexpaint (yet), but has been discussed in T69752 and there is a solution by @mano-wii in P1032. Reviewers: mano-wii Subscribers: mano-wii Maniphest Tasks: T69752 Differential Revision: https://developer.blender.org/D5775
14 KiB
14 KiB