Commit Graph

3210 Commits

Author SHA1 Message Date
908a274240 Fix T59237: Instancing on a path doesn't do anything
This commit makes it so curve path parent solving accepts an explicit
arguments for both time and curve speed flag, making it so we don't
have to mock around with scene's frame.

One unfortunate issue still is that if the instancing object is used
for something else, we might be running into a threading conflict.
Possible solution would be to create a temp copy of an object, but
then it will be an issue of preventing drivers from modifying other
datablocks.

At least the original issue is fixed now, and things behave same as
in older Blender version. Additionally, the global variable which
was defining curve speed flag behavior is gone now!
2018-12-19 11:59:47 +01:00
a72220ecf0 DNA: move back-face culling to shading popover
Overlay options shouldn't be used when overlays are disabled.

Move to shading popover, reported as T58070.
2018-12-19 10:55:53 +11:00
0d7fe55d0e GP: Improve z-depth for Blur FX
Instead to get an average value, use the lower value.

Still some issues when render.
2018-12-18 22:56:40 +01:00
5b277d7a18 Mesh Batch Cache: Port loose_edges to batch request 2018-12-18 22:17:53 +01:00
c29cd41f49 Edit Mode: Show loose edges if in draw type is wire 2018-12-18 22:17:53 +01:00
b655bf6363 Wireframe Overlay: Make use of colorTransform when transforming an object 2018-12-18 22:17:53 +01:00
2f00e0a37b Mesh Batch Cache: Cleanup / Reorder function for more consistency 2018-12-18 22:17:53 +01:00
5e4677c962 Workbench: Fix crash when sculpting with a multi material mesh 2018-12-18 20:51:52 +01:00
604101d262 Mesh Batch Cache: Port edge_detection to batch request
Also add proper support for mapped meshes (deformed by modifiers in edit
mode). So this fixes the shadows of workbench in edit mode.
2018-12-18 20:51:52 +01:00
99fb654ffd DRW: Cleanup / Renaming of mesh batch cache functions
THis is in order to avoid the jungle of names being different at each
step of the API.

Also removes some unused functions.
2018-12-18 20:51:52 +01:00
df88b6a48d Mesh Batch Cache: Port all_edges batch to batch request 2018-12-18 20:51:52 +01:00
45e1d4d9ac DRW: Fix flat object not being selectable in wireframe view
The problem was double. They were not selectable in wireframe view and
they would not display with the right color, thus always appearing
un-selected.
2018-12-18 20:51:52 +01:00
d4dcad0ad6 Fix crash with armature custom bone in wireframe mode 2018-12-18 14:51:05 +01:00
8e08e323a7 Fix T59484: Particles Lattice deform fails
this was working for object/collection display/render but lattice was
not taken into account for non object/collection display/render types
(halo, axis, cross, circle, ...)

Reviewers: sergey, brecht

Maniphest Tasks: T59484

Differential Revision: https://developer.blender.org/D4096
2018-12-18 14:39:45 +01:00
8839152abf Fix T59529: Auto smooth not working 2018-12-18 14:27:13 +01:00
c92cffb56d DRW: Instance: Makes it possible to have instances of a non-init batch 2018-12-18 13:08:17 +01:00
77d9ddc5ea Armature: temp workaround for crash caused by custom bone drawing 2018-12-18 13:08:17 +01:00
f71ae30962 Fix edit-mode wire color being used for other objects 2018-12-18 21:21:48 +11:00
b4d625c88e Fix 3D view depth buffer ignoring overlay option
The depth buffer would include lamps, cameras.. etc
event overlays turned off.
2018-12-18 20:25:19 +11:00
a68edaf11d Mesh Batch Cache: Port vertex paint surface to batch request 2018-12-18 02:19:52 +01:00
bcf390a6c3 Mesh Batch Cache: Port weight paint surface to batch request 2018-12-18 02:19:52 +01:00
8ded149bfc DRW: Polygon Offset: Also offset lines and points 2018-12-18 02:19:52 +01:00
6a1315d6e7 Weight Paint Overlay: Refactor wire drawing
This reduce the number of batch/data needed. Stores a select/visiblee
flag inside the vert/loop normals.
2018-12-18 02:19:52 +01:00
f6a77a759b Fix error when Blender starts - variable not initializated 2018-12-17 19:09:27 +01:00
144178bacf DRW: Fix vertex paint using original object for batch cache 2018-12-17 17:11:45 +01:00
4cd558b711 Mesh Batch Cache: Port Texture paint wires to new batch request 2018-12-17 17:11:45 +01:00
7ac49a07c6 Mesh Batch Cache: Port Texture paint batches to new batch request 2018-12-17 17:05:57 +01:00
9bb70e59b8 Curve Batch Cache: Fix issue with cd_used
cd_used needs to be the combination of generated data.
2018-12-17 17:05:57 +01:00
36cc42e796 Mesh Batch Cache: Optimization & Refactor shaded surface support
This now only upload data per loops to the GPU, making use of index buffer
to draw polygon. This make use of the vertex cache, speed up renders
and saves a lot of vram.

Update performance is also slightly faster and can even be improved further
by updating only uvs or vcol independently.

This commits breaks texture paint batches. It will be added back in another
commit.
2018-12-17 17:05:57 +01:00
bc74e48680 Fix T59373: Background Colors don't match in Workbench renderer 2018-12-17 17:05:57 +01:00
29877fb1a4 Workbench: Fix srgb texture not being color managed in texture color mode 2018-12-17 17:05:57 +01:00
4f220cd1cd GP: Change Primitive manipulator to secondary Gizmo color 2018-12-17 16:26:25 +01:00
9b80c70fc5 GP: Change Primitive manipulator color 2018-12-17 14:48:10 +01:00
bb58354232 Fix T59490: wrong curve handle lines 2018-12-17 14:34:32 +01:00
b253fe4d1b Eevee: Change Bent normal calculation
This changes the bent normal effect to be a bit more subtle.
I also tuned down the bent normal blending factor so mesh faceted look may
appear more in occluded regions. this is to increase the fidelity of the
indirect lighting. This blending might be a parameter in the future.

Based the calculation on "Bent Normals and Cones in Screen-space"
by O. Klehm, T. Ritschel, E. Eisemann, H.-P. Seidel
2018-12-17 09:54:24 +01:00
30a0f1a2bf Workbench: Use int to fix compilation issues on certain platform 2018-12-17 08:47:37 +01:00
d72d2d4133 DNA: clear / remove deprecated flags
- Clear deprecated flags for ID's:
  Scene, Sequence, World, Object & Mesh.
- Clear deprecated flags for Spaces: outliner, 3D view & image.
- Remove unused `Mesh.drawflag`
- Remove unused `USER_ALLWINCODECS`, `USER_MMB_PASTE`.
- Remove `V3D_SOLID_TEX` & `V3D_ZBUF_SELECT` - used in a few areas.
- Flip `Object.empty_image_visibility_flag`
  (avoids do-version on each new flag)
- Rename 'Backside' -> 'Back' in context of drawing - showing 'Back'
  makes sense.
2018-12-17 13:55:06 +11:00
1578ce46c5 GP: Fix Onion Skin slow performance
The number of vertex for VBO was not calculated for onion skin and made the realloc of memory very slow.
2018-12-16 12:19:20 +01:00
3e311fdcd1 Cleanup: style 2018-12-16 09:30:05 +11:00
351f537fa8 GP: New Curve primitive and other primitive improvements
This commit adds support for new curve tool and adds more functionalities to the existing primitives, including new handles, editing, stroke thickness curve, noise, preview of the real stroke, etc.

Thanks to @charlie for his great contribution to this improvement.
2018-12-15 17:21:47 +01:00
98f6f7bc78 Fix T59182: Blender 2.8 win64 crashes on start 2018-12-14 16:53:45 +01:00
780f0f646d GP: Rename CTX and OB modes
Part of T59335.
2018-12-14 16:52:12 +01:00
f371e633f9 Curve Batch Cache: Add support for loose edges and curve/surf modifier
Fixes T58298 Nurbs circle and curve dont draw in objectmode
Fixes T58107 Modified curves/surfaces/fonts do not show their eval mesh
2018-12-14 16:17:29 +01:00
e4b3fe4b69 Wireframe: Fix wireframe color in edit mode for surfaces 2018-12-14 16:17:29 +01:00
f37e45c26b DRW Batch Cache: Fix hack being a bit too much hacky 2018-12-14 16:17:29 +01:00
531e5ad49a Displist: Reuse tesselated pos and nor for wireframes
This lower the memory usage and also fix a bug with metaballs normals/tris
winding being reversed.
2018-12-14 16:17:29 +01:00
18d0566013 Curve Batch Cache: Add back support for shaded geometry
This changes a bit the batches data structure. Instead of using one
vbo per material we use one for all material and use index buffers for
selecting the correct triangles.

This is less optimized than before but has potential to become more
optimized by merging the wireframe data vbo into the shading one.

Also the index buffers are not strictly necessary and could be just
ranges inside the buffer. But this needs more adding things inside
GPUIndexBuf.
2018-12-14 16:17:29 +01:00
0ee0f0ebf6 Wireframe: Fix Object Viewport display "all edges" options not working 2018-12-14 16:17:29 +01:00
2afed99da3 Curve Batch Cache: Rework Implementation to use new batch request
Shaded triangles are not yet implemented (request from gpumaterials).

This also changes the mechanism to draw curve normals to make it not
dependant on normal size display. This way different viewport can
reuse the same batch.
2018-12-14 16:17:29 +01:00
77164e30c7 DRW: Simplify text edit drawing
This is to simplify the curve batch cache.
2018-12-14 16:17:29 +01:00