Age | Commit message (Collapse) | Author |
|
This commit merge the full development done in greasepencil-object branch and include mainly the following features.
- New grease pencil object.
- New drawing engine.
- New grease pencil modes Draw/Sculpt/Edit and Weight Paint.
- New brushes for grease pencil.
- New modifiers for grease pencil.
- New shaders FX.
- New material system (replace old palettes and colors).
- Split of annotations (old grease pencil) and new grease pencil object.
- UI adapted to blender 2.8.
You can get more info here:
https://code.blender.org/2017/12/drawing-2d-animation-in-blender-2-8/
https://code.blender.org/2018/07/grease-pencil-status-update/
This is the result of nearly two years of development and I want thanks firstly the other members of the grease pencil team: Daniel M. Lara, Matias Mendiola and Joshua Leung for their support, ideas and to keep working in the project all the time, without them this project had been impossible.
Also, I want thanks other Blender developers for their help, advices and to be there always to help me, and specially to Clément Foucault, Dalai Felinto, Pablo Vázquez and Campbell Barton.
|
|
|
|
So all shading settings are in this struct and can be reused in the OpenGL
render engine.
|
|
Thanks to @sergey for review
|
|
|
|
|
|
|
|
Tagging object for copy on write will ruin its PBVH.
Since sculpting is an "original" domain, we only need to
update draw batches to update.
|
|
There are still some keys to update because
some operators only support toggle.
|
|
|
|
it is possible that two threads will request same undo node, only one
of them will initialize the node. The issue is that initialization is
happening outside of a lock, which was making one thread to use non-
initialized node.
If this change is ever a bottleneck, make a lock inside of node.
|
|
In this mode mesh detail does not change on each stroke, but only when
using flood fill.
Differential Revision: https://developer.blender.org/D3515
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This is needed as part of modeling work-flow, so keep it accessible.
|
|
|
|
|
|
|
|
Use 2.7x keymap preset for full keymap.
Use define to allow further adjustments.
See T55666.
|
|
|
|
|
|
This translates the gl calls to the new GPU_ wrappers from D3501.
Given it's tedious and repetitive work, this patch does as much as it can with search + replace, the remainder of the gl calls will need to be manually dealt with on a case by case basis.
This fixes 13 of the 28 failing editors when building without opengl.
For the list of substitutions see D3502
Reviewers: brecht
Differential Revision: https://developer.blender.org/D3502
|
|
Python API is context.workspace.status_text_set()
|
|
Need to flush mesh DEG COW here, for some reason...
|
|
Undo was not tagging PBVH to update normals too...
|
|
Conflicts:
source/blender/editors/sculpt_paint/paint_image.c
source/blender/editors/space_view3d/view3d_draw.c
source/blender/editors/space_view3d/view3d_view.c
source/blender/gpu/GPU_draw.h
source/blender/gpu/GPU_material.h
source/blender/gpu/intern/gpu_draw.c
source/blender/gpu/intern/gpu_material.c
source/blender/makesrna/intern/rna_userdef.c
source/blender/windowmanager/intern/wm_files_link.c
source/blender/windowmanager/intern/wm_init_exit.c
source/creator/creator_args.c
source/gameengine/GamePlayer/ghost/GPG_ghost.cpp
source/gameengine/Ketsji/KX_PythonInit.cpp
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
|
|
|
|
|
|
|
|
|
|
code.
|
|
Those actually never had anything to do with DM... Just used WP prefix
instead!
|
|
Name cleanup to follow.
|
|
Conflicts:
source/blender/editors/sculpt_paint/paint_image_proj.c
|
|
Probably harmless, since I bet CD_ORIGINDEX is nearly always generated,
but still...
|
|
|
|
Pretty straightforward changes. Name cleanup to follow in a separated
commit.
|
|
Conflicts:
source/blender/editors/sculpt_paint/paint_image_proj.c
|
|
Two branches were actually doing essentially the same thing here, no
need to artificially complicate things. ;)
|
|
projection code.
NEVER free yourself DM returned by mesh_get_derived_final(), it's always
to one assigned to ob->derived_final!
|
|
|
|
SculptSession.mode_type wasn't initialized until painting,
making it unreliable for checks in other parts of the code.
Also remove unnecessary initialization,
matching sculpt mode more closely.
|
|
|
|
Conflicts:
source/blender/blenloader/intern/readfile.c
source/blender/editors/mesh/editmesh_utils.c
source/blenderplayer/bad_level_call_stubs/stubs.c
|
|
|
|
|