Commit Graph

2344 Commits

Author SHA1 Message Date
c39d5a6c88 Fix T57708: Crash on Eevee rendering with SSR enabled.
Intel does not like dead code.
The driver for `Intel HD Graphics 4000` crashes in these cases.
2018-11-13 15:19:10 -02:00
445d813c87 GP: Don't calculate fast drawing when playing 2018-11-13 18:53:42 +01:00
4e1057780b GP: Remove redundant texture attachment 2018-11-13 13:44:56 +01:00
647a798076 Workbench: Volume: Fix slice display opacity 2018-11-13 11:22:29 +01:00
6ba7345ca5 Workbench: Volumes: Fix volumetrics step length calculation
Step size is now one voxel diagonal.
Fix T57678 Culling of smoke depending on view direction
2018-11-12 21:15:58 +01:00
3eb7928406 Workbench: Volumes: Fix volumetrics rendering twices 2018-11-12 21:12:34 +01:00
d941f40c21 Fix T57571: Blender crashes on UV transformation
That was caused by a thread safety issue on gpu_batch_presets_unregister()
which was not designed to be used for this kind of situation (managing 3D
meshes batches).
2018-11-12 18:07:01 +01:00
36a3a40033 Eevee: Fix ESM not working after a certain distance
This was caused by overflow caused by the background and precision during
filtering.
2018-11-12 13:50:22 +01:00
e51dae4af8 Eevee: Fix lamps shadows not updating correctly
This was visible if the lamps was out of frustum.
2018-11-12 13:50:22 +01:00
fb70ee0bb5 Cleanup: minor gpencil changes
- Replace BKE_brush_getactive_gpencil -> BKE_paint_brush
  (no need for per-paint-type brush access).
- Rename TOT_GP_EDITBRUSH_TYPES -> GP_EDITBRUSH_TYPE_MAX
  (avoid sharing prefix w/ unrelated constants).
- Rename instances of `GP_EditBrush_Data` to 'gp_brush'
  (`Brush` is typically called 'brush').
2018-11-12 09:59:16 +11:00
Dalai Felinto
221d078641 Multi-Objects Metaball: Selection refactor - fix pick and box selection
This is inspired/based on the code we use for armature bone selection.
Both pick selection, and box selection should be working now.
2018-11-09 16:40:43 -02:00
1ed31bef1a Draw manager: Expose grease pencil helper function 2018-11-09 17:53:02 +01:00
36e6a41f6f Object Mode: Grid: Make antialiasing more grounded
Went a bit anal on this but at least we will have a decent AA reference
for lines in the future.
2018-11-09 15:35:31 +01:00
4f11441913 Eevee: Add partial support for the Light Path Node
This makes it possible to tweak indirect lighting in the shader.

Only a subset of the outputs is supported and the ray depth has not exactly
the same meaning:

Is Camera : Supported.
Is Shadow : Supported.
Is Diffuse : Supported.
Is Glossy : Supported.
Is Singular : Not supported. Same as Is Glossy.
Is Reflection : Not supported. Same as Is Glossy.
Is Transmission : Not supported. Same as Is Glossy.
Ray Length : Not supported. Defaults to 1.0.
Ray Depth : Indicate the current bounce when baking the light cache.
Diffuse Depth : Same as Ray Depth but only when baking diffuse light.
Glossy Depth : Same as Ray Depth but only when baking specular light.
Transparent Depth : Not supported. Defaults to 0.
Transmission Depth : Not supported. Same as Glossy Depth.

Caveat: Is Glossy does not work with Screen Space Reflections but does work
with reflection planes (when used with SSR or not).
We have to render the world twice for that to work.
2018-11-08 19:20:40 +01:00
1250ace641 Eevee: Fix refraction materials
Fix refraction depth not working without ScreenSpace Refraction.
Fix ScreenSpace Refraction masking reflections.
2018-11-08 19:20:40 +01:00
c39f34def9 Fix Cycles viewport render info overlapping other text.
Now it shows more compact info below the view/object name. Render time and
memory usage is left out, as in most cases this is not so important. These
could be added back optionally if needed.
2018-11-08 18:31:33 +01:00
c018cea680 GP: Show all objects sharing data in edit modes
Only need hide particle objects
2018-11-07 16:13:49 +01:00
13944c3dda Workbench: Scale shadowing based on density
This makes previewing thick smoke a bit more plausible with better shadows.

The shadowing is clamped so that nothing is completely black. That said the
lower bound is pretty low.

This is not an option but could become one if users do not like it in
all situations.
2018-11-07 13:25:28 +01:00
84ad9b102e Workbench: Add cubic filtering for smoke simulation
The option is per domain and only affects the solid / xray / wireframe view.

Eevee is not yet supported.
2018-11-07 13:25:28 +01:00
b23c68a937 Workbench: Improve volume render by removing noise using temporal AA 2018-11-07 00:19:14 +01:00
8af53dbeab Workbench: Fix volumetric blending leading to corrupted render results
Use simpler premultiplied blending.
2018-11-07 00:19:14 +01:00
4c8d88b485 Workbench: Fix non transparent background in viewport render 2018-11-07 00:19:14 +01:00
fac2cfdfa7 Eevee: Improve Hashed Alpha transparency by reducing noise size
This only affect renders and static viewport accumulation.
It reduces helps reduce noise when lots of half transparent surfaces
overlaps.
2018-11-07 00:19:14 +01:00
8a204ccdb4 Eevee: Support monochromatic Transparent BSDF correctly
This fits Cycles better even if it is only for grey scale values. This only
work if the blend mode is Alpha Blend or Alpha Hashed.
2018-11-07 00:19:14 +01:00
2a0a7cd73d Eevee: Fix missing UBO bound if using a muted Shader to RGB node with SSS
This is a nasty bug. Because the node does not get properlly tagged as SSS
(sss_id is 0) but is still evaluated (so tagging the GPUMaterial as having
SSS). The sssProfile UBO is still declared and we need to bind something
to it.
2018-11-06 12:05:21 +01:00
b4dfe00fd6 Wireframe: Extend Xray slider range
This makes it possible to bypass the depth dithering effect at the cost
of less accurate depth perception.
2018-11-05 16:31:12 +01:00
2ae88c4d78 UI: Make the grid alpha themable
Now that the 3d grid is infinite, antialiased, not occluded, and overlaid
on top of rendered view, being able to decrease its opacity to reduce
visual strain is a must.
2018-11-05 16:31:12 +01:00
205d1876ff DRW: Fix crash with deferred compilation 2018-11-05 16:31:12 +01:00
050e91340d Edit Mesh: Fix wire opacity when not rotating the view in Xray mode 2018-11-05 16:31:11 +01:00
25a9816c30 Cleanup: use bool 2018-11-05 13:22:49 +11:00
5195f03ca1 Cleanup: style, use ARRAY_SET_ITEMS macro 2018-11-05 07:12:53 +11:00
665efe401a Fix T57611: Crash on entering Grease Pencil Sculpt Mode
The problem was when some layers was locked in multiedit. The cache size was not checked and gets an segment fault.
2018-11-04 19:37:03 +01:00
5cfcee8c39 GP: Reorganize Canvas Grid
Now the grid is always controlled by the topbar selector and not in the canvas panel. To have two places to define orientation was confuse.

The orientation by default (no lock) is always to view plane.
2018-11-04 13:00:37 +01:00
bc870f17a7 Cleanup: style, shadow warning 2018-11-04 10:10:00 +11:00
c2a12eedd1 GP: Use stroke and fill switches while drawing 2018-11-03 10:01:28 +01:00
628908a710 GP: New main switches to hide stroke and fill material
New parameters to switch visibility of stroke and fill
2018-11-03 08:51:36 +01:00
74737091c0 GP: Fix problem when alpha is too low
There are still some color when the alpha is set to 0
2018-11-02 19:28:36 +01:00
d3ade45774 Armature: Fix stick bones not scaling with pixel size 2018-11-02 16:27:34 +01:00
46d88c5850 Edit Mesh Mode: Improve edge drawing
Make edge decoration a bit thinner and try to reduce missing edge segment
due to triangle barycentrics.

This invert the "edge fix" strip offset direction, meanning there is now
the possibility that these triangles poke through nearby geometry depending
on the viewport near/far clips distances.
2018-11-02 15:45:13 +01:00
819e6745b0 DRW: Use GPU module wrapper for line width 2018-11-02 15:45:13 +01:00
fecb09ceff Eevee: Fix crash during Light cache baking
This was caused by some threading conflict.
2018-11-01 21:23:12 +01:00
b2a6e149a6 Eevee: Opti: Irradiance: Remove sqrt and max on backface test
Did not have any impact in my tests and it saves some instructions.
2018-11-01 21:23:12 +01:00
bb3219d2b1 Eevee: Fix pingpong buffer not using 32bit float buffer when rendering 2018-10-31 22:35:42 +01:00
35b888fbda Eevee: Fix compilation issue cause by cleanup 2018-10-31 21:14:32 +01:00
97a1561283 Eevee: Cleanup: Remove TODOs about MSM
Soft shadows are supported in another manner, Multiple Shadow Maps are not
needed anymore.
2018-10-31 19:44:01 +01:00
cde64619ca Eevee: Implement Overscan option
This option make the internal render size larger than the output size in
order to minimize screenspace effects disapearing at the render edges.

The overscan size added around the render is the maximum dimension
multiplied by the overscan percentage.
2018-10-31 18:32:54 +01:00
a3802f66e2 Image Empties: More visibility settings
Support for showing images in background/foreground and only in perspective/orthographic view.

Internally the depth of the image is modified in the fragment shader by setting `gl_FragDepth` explicitly.

The UI still needs some work to improve usability, see D3863 for details.
Currently there is one duplicated function, not sure how to best deduplicate it yet. (`is_image_empty_visible`)

Reviewer: fclem, brecht, campbellbarton

Differential Revision: https://developer.blender.org/D3863
2018-10-31 13:42:33 +01:00
117bc96ce8 Eevee: Fix dot corruption on intel HD5xx/6xx series
It is caused by some sync issue apparently. Adding glFlush in these
two places fixes it.

Caveat: it might have a small perf impact (did not measure it).

The fix is limited to the affected driver/operating systems.
2018-10-31 12:32:18 +01:00
a248c2001a GPU: Add glFlush and glFinish wrapper 2018-10-31 12:32:18 +01:00
1fb9fcb333 Cleanup: indentation 2018-10-31 14:43:25 +11:00