Commit Graph

818 Commits

Author SHA1 Message Date
Campbell Barton
fd1dd1134b Cleanup: unused vars 2019-04-27 10:00:43 +10:00
Clément Foucault
d4827cfa81 Fix T58966 Sculpted changes dissapear visually when selecting a second object
Display sculpt mesh if there is a sculpt session.
2019-04-26 16:17:35 +02:00
Clément Foucault
50d75cd528 Fix T62880 Severe FPS drop with multiple bone shapes
Fix instancing batches not being reused by custom bone shapes.

Drawing thoses is now faster than 2.79 (40fps instead of  30fps)
2019-04-26 15:33:49 +02:00
Campbell Barton
20c5f677d7 Cleanup: clang-format 2019-04-26 13:04:23 +10:00
Jeroen Bakker
38a0896f15 Overlay: Mesh Analysis
Enabling the drawing of the mesh analysis overlay.
Currently the settings are part of the scene toolsettings. What makes sense,
for 3d printing, but does not fit well with the per viewport blender 2.80
overlays.

Reviewers: brecht, fclem

Differential Revision: https://developer.blender.org/D4707
2019-04-25 11:25:22 +02:00
mano-wii
fa4201f82d Fix T62701: Hair edit mode crashes on some old AMD Radeon drivers.
The crash is related to the format, but the real reason is unknown.
2019-04-24 13:19:02 -03:00
Jeroen Bakker
ee701baff8 Workbench: Support Active Vertex Color
Currently it is not possible to view the vertex colors of an object. To
optimize the workflow, workbench will need to support Vertex Colors.

The Vertex Colors is a new option in `shading->color_type`. When objects
do not have vertex color, the objects will be rendered with the
`V3D_SHADING_OBJECT_COLOR`.

In order to support vertex colors in workbench the current texture/solid
shading structure is migrated to a primary shaders and fallback shaders.

Fix: T57000

Reviewers: brecht, fclem

Differential Revision: https://developer.blender.org/D4694
2019-04-23 12:05:33 +02:00
Pablo Dobarro
f2792e91f0 3D View: add opacity for sculpt mask display
This matches vertex/texture paint opacity options.

Useful because 0.75 is sometimes too dark to see the surface shading.

Resolves T63746
2019-04-20 12:03:57 +02:00
Clément Foucault
6c83c92862 Edit Mode: Change face mode edges display
This improve visibility in edit face select mode by using the face select color
instead of the edge select color (which is in default theme a bit more red). Also
makes the selected edges in this mode a bit more opaque (0.75 instead of  0.4).
Full opacity is still reserved for edge select mode.
2019-04-19 15:19:43 +02:00
Campbell Barton
4439e5d0ba Cleanup: add trailing commas to avoid right shift 2019-04-18 17:19:44 +02:00
mano-wii
7d78474941 AMD glitch: missing changes in f41ab375f3
It was committed an earlier version of the patch which missed these changes.

Differential Revision: https://developer.blender.org/D4700
2019-04-18 10:54:03 -03:00
Campbell Barton
4c11e57316 Cleanup: add 'if 0' comment why code is repeated
Avoid potentially adding back the problem in the future.
2019-04-18 15:19:47 +02:00
mano-wii
f41ab375f3 Fix T62792: AMD glitch when clipping region in edit mode.
The `AMD Radeon HD 7600M` compiler is usually buggy for Geometry Shaders.
In this case, indexing was causing problems in `gl_in[i].gl_ClipDistance[0]`.

Reviewers: fclem

Differential Revision: https://developer.blender.org/D4700
2019-04-18 10:09:34 -03:00
Jeroen Bakker
63bae864f4 Overlay Engine: Option to Disable AA Ortho Grid
When in Axis alligned orthographic view a grid was always displayed.
With this change the user can enable/disable this grid.

The Grid is always visible and editable, but only rendered active when user is in quad view, or axis aligned ortho view.

Reviewers: brecht, fclem

Maniphest Tasks: T63517

Differential Revision: https://developer.blender.org/D4699
2019-04-18 11:22:08 +02:00
Campbell Barton
333cdbb410 Cleanup: comment blocks 2019-04-18 07:59:28 +02:00
Campbell Barton
dbf4a67af4 Cleanup: warnings 2019-04-18 06:52:05 +02:00
Clément Foucault
1a4b60c30d Edit Mode: Rework display to differentiate selection modes
This removes the large edges and instead use colors to hint in which
selection mode the user is.

The component in each individual selection mode is more prominent to add
more emphasis. The other components are less prominent and dimmed.

A minor default theme changes needed to be made to keep clarity in all
combinations.

Forcing old behavior (no selection mode hit) could be done quite easily
by just making the 2 booleans true (selectFaces and selectEdges).

Reviewers: campbellbarton, billreynish

Reviewed By: campbellbarton, billreynish

Subscribers: ThinkingPolygons

Maniphest Tasks: T1234

Differential Revision: https://developer.blender.org/D4526
2019-04-17 19:37:12 +02:00
Campbell Barton
e12c08e8d1 ClangFormat: apply to source, most of intern
Apply clang format as proposed in T53211.

For details on usage and instructions for migrating branches
without conflicts, see:

https://wiki.blender.org/wiki/Tools/ClangFormat
2019-04-17 06:21:24 +02:00
Campbell Barton
eff8cc9ccc Cleanup: doxy comments
Use doxy references to function and enums,
also correct some names which became out of sync.
2019-04-14 10:48:42 +02:00
Sebastian Parborg
adaa7688ee Fix T63467: Edge/vertex selection isnt working properly with X-ray set to 1
Edit mode shows the mesh elements in X-ray mode even if alpha is set to
1. Now the code takes this into account so that you can still select
visible mesh elements in X-ray edit mode.

view3d_draw_legacy need to be updated with the new XRAY flag macros to
avoid crashes. Additional cleanup of the XRAY macro flags were done.
2019-04-11 18:28:20 +02:00
Campbell Barton
6fed1525a1 3D View: Show the camera frame when Extra's is off 2019-04-11 14:01:18 +02:00
Sebastian Parborg
cc74020b5a Fix T62114: Wireframe mode selection: selects backside objects when clicking frontside object in 3d-window
Now the depth order of objects when trying to select them is only used when not in X-ray mode.
Before, this was only the case in wireframe mode regardless of X-ray settings.

I've also unified the usage of V3D_XRAY and XRAY_FLAG as they were basically copies of each other.

Reviewed By: Clément

Differential Revision: http://developer.blender.org/D4504
2019-04-09 12:29:02 +02:00
Clément Foucault
af3f4f29e4 DRW: Fix hair count being limited by recent refactor
This was making Autumn being half naked.

Issue was introduced by rBe72dc667c4d3
2019-04-04 14:44:19 +02:00
Campbell Barton
6470056a0d Cleanup: empty expression statement warning 2019-04-02 17:54:04 +11:00
Sebastian Parborg
de0dab66ff Fix T63086: Navigation problem with Background/Reference Images
The issue was the manipulated depth for images would be used when doing distance depth checks.
Now we will use the actual depth of the image object when doing such tests.

Reviewed By: Clément Foucault

Differential Revision: http://developer.blender.org/D4616
2019-03-30 08:22:43 +01:00
Campbell Barton
73b55a5508 Cleanup: style, use braces for draw 2019-03-28 01:14:03 +11:00
Jeroen Bakker
52aa35ec1e Fix T62189: Wires Occluded When Edit Mesh Faces Disabled
Reviewed By: fclem
Maniphest Tasks: T62189
Differential Revision: https://developer.blender.org/D4593
2019-03-26 15:19:47 +01:00
Clément Foucault
51f8e51d78 Edit Mesh: Fix interpolation of gradient on edit edges
This fix some issue with the AA on edit mesh edges.
2019-03-26 15:11:31 +01:00
Clément Foucault
3aeb44cd79 Fix T62260 edges display bug on big geometries when looked up close 2019-03-26 15:11:31 +01:00
Jeroen Bakker
30fbf905ef Fix T62774: Respect Show Overlays
Some draw code did not respect Show Overlays option. These were:

 * All mode based drawing engines (edit mode)
 * Wireframe drawing

This change make them respect the Show Overlays Option.

Reviewed By: fclem, billreynish

Maniphest Tasks: T62774

Differential Revision: https://developer.blender.org/D4572
2019-03-26 07:58:54 +01:00
Campbell Barton
abd18f6ec0 Cleanup: style 2019-03-25 11:42:28 +11:00
Clément Foucault
16087eb911 Fix T62097 Bone transparancy not enabled when Xray enabled
This forces bone transparency / wireframe display when Xray is enabled.
This makes sense as the bone transparency is a kind of Xray and should
be linked to the Xray display.
2019-03-23 19:28:13 +01:00
Clément Foucault
d057dea7ae Edit Mesh: Rework "in front" + "hidden wire" drawing
Instead of doing some fancy stencil buffer tricks, just clear the depth
buffer before the "in front" meshes.

Fix T58841 Hidden Wire when in Edit Mode disables In Front Option
2019-03-23 18:46:45 +01:00
Campbell Barton
0093ad643a Cleanp: remove redundant clipping uniform
workbench_material_shgroup_uniform handles this.
2019-03-23 14:26:33 +11:00
Campbell Barton
23a76491eb Cleanup: style, use const args where possible 2019-03-23 12:16:38 +11:00
Dalai Felinto
faecac0b5e Fix T62815: Camera frame shift issue + stereo frame working
While I broke the non-stereo camera frame in rBf1fef41863b I came to
realize after further tests that the stereo camera frame was NEVER
correct.

It is now, regardless of the camera shift, the camera pivot, if you are
looking through the left, right or stereo eyes.

In the end all that was missing was to multiply the shift we needed to
offset the frame, by the frame width.

I also took the opportunity to perform some cleanup/refactor regarding
names. It was too confusing even for me.

Note: Non-uniformally scaled cameras still draw slightly wrong.
2019-03-22 18:47:24 -03:00
Dalai Felinto
4015d162df Viewport Refactor: Move camera tracking reconstruction in own function
I'm going through my own messy stereo code, and came to realized that
this should be out in its own function a long time ago (as we have in 2.7x).
2019-03-22 17:31:50 -03:00
Campbell Barton
4f9451c044 Camera: change how the minimum near clip depth is set
do_clip wasn't working for its intended purpose,
replace with a simpler method.
2019-03-23 01:16:06 +11:00
Jeroen Bakker
177623dd40 Implement Stencil Mask Drawing for Texture Painting
Stencil mask drawing was not implemented yet. This commit will implement this for texture painting.
It brings the state back to how it was for B279.

Reviewed By: fclem

Maniphest Tasks: T58727

Differential Revision: https://developer.blender.org/D4570
2019-03-22 08:21:12 +01:00
Campbell Barton
6e7e6832e8 Fix T62814: Camera frame invisible with large near-clip value 2019-03-22 17:28:53 +11:00
Clément Foucault
f71e8617e0 Viewport: Draw loose edges in edit mesh mode if there is a modifier stack 2019-03-20 22:43:30 +01:00
Clément Foucault
bff472d2ff Fix T61326 "In Front" option not working on edit curves
Create a new pass for them and draw them separately.

Beware of the double multisample resolve when multi-editing a mix of curves
with and without the "in front" option enabled.
2019-03-20 17:26:14 +01:00
Clément Foucault
c5fc861172 Fix T58550 Dragged in images dont overlap properly
This patch adds a new "Use Alpha" option on image empties to avoid ordering
issue of reference images.

If ordering is not important, "Use Alpha" can be enabled to provide
transparency and alpha blending support.
2019-03-20 16:33:49 +01:00
Campbell Barton
4fa904e91c Cleanup: use lowercase for dimensions in function names
Most API's already use this convention.
2019-03-20 18:25:27 +11:00
Clément Foucault
e72dc667c4 Fix T61475 Particle edit does not render children if path step > 7
Gives 2 more bits to the segment count. Also subtract 1 because segment
count cannot be negative.
2019-03-19 14:26:30 +01:00
Campbell Barton
e7fd6c8f30 Cleanup: comment blocks 2019-03-19 15:17:46 +11:00
Brecht Van Lommel
b9af4efe41 Cleanup: fix compiler warnings. 2019-03-16 20:21:16 +01:00
Campbell Barton
cabb53effa Correct error in 6aebb5a4d5 2019-03-16 21:49:33 +11:00
Campbell Barton
37af7ce779 DRW: support clipping for armature bone axes
Also minor changes to make empty axis match armature axis.
2019-03-16 18:43:36 +11:00
Campbell Barton
c55fb58e8a DRW: support clipping for envelope armature draw type 2019-03-16 18:26:16 +11:00