Commit Graph

2914 Commits

Author SHA1 Message Date
Brecht Van Lommel
c6ca842e23 Fix T61937: image sequences not updating in workbench display mode.
Need to pass the image user along to get the frame number.
2019-03-14 12:37:51 +01:00
Clément Foucault
d0fb0d0a9d Fix T60170: Eevee: smoke color does not apply permanently
This was because color is not present in the density texture if there is
only one constant color. Adding it as a uniform.
2019-03-13 23:15:11 +01:00
Sergey Sharybin
18a9e0776c Fix T62156: Hair particle only shows up in final render when visible in viewport
Draw manager was checking for particles being enabled in viewport, but
actual evaluation was happening for render. Now the check in draw manager
properly follows current evaluation mode.

Additionally, de-duplicated some check, by moving everything needed to
a single place.

Annoying part is the const-cast, that could be cleaned up later by
modifying some underlying functions.
2019-03-13 18:35:32 +01:00
Clément Foucault
3952fd199a Fix T59448: Eevee broken Area Light shadows for square and rectange shape 2019-03-13 16:06:34 +01:00
Clément Foucault
3146a07e3e Fix T60005: Eevee: Volume material doen't write alpha 2019-03-12 23:16:17 +01:00
Clément Foucault
31fba57677 Fix T60802 Eevee: No diffuse when using Clearcoat + Add shader 2019-03-12 23:16:01 +01:00
Clément Foucault
41cb565880 Fix T60902 Eevee: Environment texture partially visible on transp. render
This was due to environement not being rendered with alpha blending. So
color was still written and contributed to the final render color. Now
we multiply by background alpha so that it removes any background pixels
intensity.

For this reason this made the (incorrect) final premult unecessary.
2019-03-12 22:02:39 +01:00
Clément Foucault
e28f0f179d Fix T62279: Rendering simple geometry corrupts with greasepencil layer
This was caused by a missing state reset. Also adding safety state reset
before and after drawing (might not be necessary).
2019-03-12 16:01:23 +01:00
Clément Foucault
aaeca5d872 Eevee: Planar Ref.: Invert view matrix to remove triangle front face flip
This was the cause of some issue with normal mapping. This way is cleaner
since it does not modify the state of the drawcalls and other ad-hoc
solutions to fix the problems down the road. Unfortunately, it does require
to fix every sampling coordinate for this texture.

Fix T62215: flipped normals in reflection plane
2019-03-12 16:01:23 +01:00
Clément Foucault
ccb4484ea3 DRW: Fix missing state reset before draw pass
This is needed before any drawcall. If not, undefined behavior can happen.
2019-03-12 16:01:23 +01:00
Antonioya
5582452567 GPencil: Set wire mode when object is set to wire
When the object view is set to Wireframe, the display must be set as wireframe view with x-ray on.

Now the x-ray switch is handled by object.
2019-03-12 10:23:33 +01:00
Campbell Barton
815a9df70c Cleanup: trailing space 2019-03-12 08:16:55 +11:00
Antonioya
057117de78 GPencil: Add support to display the material name in selected strokes
2D artists have requested a way to see in viewport the name of the material assigned to a stroke. This is a special request for 2D animation and required to manage complex drawings with multiple materials on it. We don't need add a separate option for this in the panel.

Now, when enable Name option in the Viewport Display panel, when you select a stroke in edit mode, the name of the material is displayed near the first point selected.

Design reviewed by @mendio and @pepeland
2019-03-11 17:42:45 +01:00
Antonioya
84cb5f3b5c GPencil: Add visual feedback for darwing in Bound mode
As the final stroke is not visible in Bound mode, at least display the current stroke while drawing to get a visual hint of what are you doing.
2019-03-11 17:27:14 +01:00
Antonioya
958f34dd03 GPencil: Add support for Bound Box
The bound box was not calculated for grease pencil objects.
2019-03-11 17:13:51 +01:00
Clément Foucault
9f4ec02bb4 View3D: Fix object without bounds displaying bounding boxes 2019-03-11 14:16:51 +01:00
Clément Foucault
0142c825b5 View3D: Fix Empties displaying bounding boxes 2019-03-11 14:03:31 +01:00
Clément Foucault
a808b58e07 Eevee: Update LTC code
Main change are:
- the fresnel LUT is separated from the main GGX LUT.
- LUTs use sqrt(1.0 - NV) as roughness remapping. Improving precision and
  removes needs for acos().
- LTC LUT is normalized by matrix middle component. Improving precision.
2019-03-11 13:12:48 +01:00
Antonioya
5be35ad7c9 GPencil: Cleanup comment text 2019-03-11 10:44:56 +01:00
Antonioya
0889fea790 GPencil: Fix unreported UV error when use subdivide modifier
When the subdivide modifier was used, the UV was not recalculated and the texture of the stroke was wrong.
2019-03-11 10:42:39 +01:00
Clément Foucault
9ad156374f Fix T60171: Hair Particles Not Displaying in Viewport
This patch fixes T60171 by adding a dummy read from the `dummy` vertex attribute to `hair_get_pos_tan_binor_time` in `common_hair_lib.glsl`. Confirmed to work on my machine (macOS 10.14.4 Beta, Radeon R​9 M295X).

According to my experiments regarding this issue, the problem is triggered when all of the following conditions are met: (a) the shader has no vertex reads; (b) the index buffer is ≥ 256KiB. I can't really give an explanation of this misbehavior because of the video driver's closed-source nature.

Reviewers: fclem

Reviewed By: fclem

Subscribers: zeddb

Maniphest Tasks: T60171

Differential Revision: https://developer.blender.org/D4490
2019-03-10 03:57:27 +01:00
Clément Foucault
da73f56917 Fix T62355: Running blender 2.80 headless broken in recent builds 2019-03-08 14:32:04 +01:00
Campbell Barton
0ba143a1d6 Fix T62095: OpenGL render camera image alignment 2019-03-08 12:37:22 +11:00
Antonioya
1eea4b2634 Fix T62316: Grease Pencil objects display in front of the grid lines
The fix was move the grease pencil engine before overlays

This also fix the origin not visible bug T62100

There is a limitation of this fix, but we cannot fix both problems. If you have object behind a transparent graese pencil objects, this objects will not be visible.

Thanks @fclem for his advices to fix this bug.
2019-03-07 17:53:25 +01:00
Sergey Sharybin
9e1d113570 Sculpt; Fix memory leak on redraw normals update 2019-03-07 16:09:15 +01:00
Sergey Sharybin
967d82d9b9 Fix T62271: Particles with multires crash on sculpt
In fact, any modifier on top of multires would lead to crash.
Was missing pointer update.

Basically, bring the control flow closer to 2.7.
2019-03-07 16:09:15 +01:00
Clément Foucault
97b1739cf1 Fix T62066: Seg Fault Baking Light Cache with "--background" Flag 2019-03-07 03:51:00 +01:00
Clément Foucault
dabf593163 Fix T59877: EEVEE: Object Info node random value does not work with Duplis 2019-03-07 03:33:24 +01:00
Clément Foucault
fbfdfcb947 DRW: Fix hair OSX workaround having a cap limit
This is still is a dirty workaround.

Note that we are drawing the whole sets of point multiple times. While this
is ineficient, the main bottleneck is CPU transformation.
2019-03-07 03:22:57 +01:00
Campbell Barton
a3d647558e DRW: show image empty frame when the 'side' is hidden
This behavior matches back-face culled mesh objects,
where the wire outline doesn't depend on the viewing angle.

Applying this before empty visibility check for view framing,
since it's strange if viewing all gives different results
depending on back-face culling.
2019-03-07 11:41:33 +11:00
Antonioya
b39985eddb GPencil: Fix unreported segment fault drawing with dots 2019-03-06 19:31:01 +01:00
Antonioya
59f30e9390 GPencil: Improve quality to stroke encaps for textured materials
Before, the caps were not generated for texture materials, now, the endcaps are generated and  adapt the texture.
2019-03-06 17:57:12 +01:00
Dalai Felinto
b94ec178a2 Fix stereoscopy convergence plane placement
Note this was broken even in 2.7x.

We had a different logic for the plane wire, as for the plane itself.
And they were both wrong when changing the camera shift or the stereo
pivot.

Both of their logic is now unified and correct.

Also I had to create a new gpu batch for the quad wires, since there is
no state that allows me to filter out the geometry, and the square gpu
batch is quite different than the quad one (2d x 3d and orientation).
2019-03-06 13:33:09 -03:00
Dalai Felinto
0ec98863e2 Fix stereo plane pass and state
This was introduced on the MSAA fix for transparent passes (61039bf713).
2019-03-06 13:33:09 -03:00
Clément Foucault
9d3eec785b Fix T62220: Solid shading mode - Shadow glitch
The degenerate triangle threshold was too big. Making it an equal test can
introduce problems in other cases but I could not make it fail.
2019-03-06 16:15:26 +01:00
Clément Foucault
61039bf713 Fix T62262: Light "Show Cone" & stereoscopy volumes broken by MSAA
Volume itself was working, but buggy. The issue was that transparent shapes
does not write to depth buffer. But the custom MSAA resolve shader discard
pixels that did not write to depth making them transparent.

Transparent passes should not be inside the MSAA passes, this is also
a matter of performance.
2019-03-06 15:48:35 +01:00
Dalai Felinto
3fc7d51ed3 Viewport: Fix stereoscopy volume "wires" not showing
This is unreported. When using volume opacity 0.0, the wires were not visible
(nor were they in other cases, but this was the most obvious one).

The volume itself is still glitchy, and slightly worse than 2.79. I
still don't know how to fix this though. It seems a common problem
(see T62262).
2019-03-06 10:59:32 -03:00
Dalai Felinto
f1fef41863 Fix T62118: Stereo drawing options visible from camera view
Note 1: Volume drawing still draws differently than 2.7x.
Note 2: Camera lens widget still ignores stereo.
2019-03-06 10:59:32 -03:00
Clément Foucault
af72fc7555 DRW: Fix State tracking being off when calling GPU_framebuffer_clear
State tracking works in pretty much all cases but calling the clear command
does change the write mask outside the draw manager. For now we just reset
the write mask before each pass.

Fix T62203 The selected bone is not highlighted inside the other bone.
2019-03-06 03:38:56 +01:00
Campbell Barton
85b667716a Cleanup: style 2019-03-06 10:51:11 +11:00
Clément Foucault
104d9b475d Cleanup: Use GPU_depth_test instead of glEnable/glDisable 2019-03-05 22:02:50 +01:00
Clément Foucault
6867821c4a DRW: Fix GL state issues due to state not being reset after drawing
Callbacks were drawing with the wrong blend equation and that made some
tools drawing fail.
2019-03-05 22:02:50 +01:00
Clément Foucault
c94db5d1c7 Fix T61778: Crash when adding material slot to object
For some reason the mat_nr can be superior to the number of material slots
present on an object. Just cap this number to the max available slot.
2019-03-05 18:58:22 +01:00
Clément Foucault
81283b1c81 DRW: Fix rasterizer discard messing with clear commands
Fixes T62179 Viewport Ghosting on rigs
2019-03-05 17:24:39 +01:00
Campbell Barton
a4540116ba DRW: use memiter for on screen text allocation
Avoid allocation for each string,
improves redraw speed for text heavy views.

A contrived test showed FPS ~18.5% speedup but this doesn't represent
typical usage.
2019-03-06 02:42:53 +11:00
Campbell Barton
6fd0d810b4 DRW: support clipping for bone verts 2019-03-06 01:26:30 +11:00
Antonioya
0ae6747300 GPencil: Cleanup compiler warnings 2019-03-05 12:10:34 +01:00
Antonioya
9f7f4c1a6a Fix T62194: Blender crash after makingnew file after using Grease Pencil.
The crash was detected in draw_manager, but the real problem was a wrong pointer that corrupted the struct, so the free function failed.

Redesign this area to keep pointer correct all the time.
2019-03-05 12:06:55 +01:00
Antonioya
3e4cf413ea GPencil: Don't create framebuffers for selection
The selction use it's own frambuffers.
2019-03-05 10:52:52 +01:00
Campbell Barton
34daf527f3 Cleanup: rename RENDER_OVERRIDE -> HIDE_OVERLAYS
Match the UI naming (changed since 2.7x).
2019-03-05 15:09:25 +11:00