Commit Graph

63559 Commits

Author SHA1 Message Date
Campbell Barton
918288138d Cleanup: warnings, trailing space 2018-08-02 08:26:57 +10:00
Clément Foucault
504454ee5e GPUMaterial: Normal Map Node: Make default inputs interactives 2018-08-01 22:08:36 +02:00
Clément Foucault
48e661e05d GPUMaterial: Fix assert when shader failed to compile. 2018-08-01 22:08:36 +02:00
Clément Foucault
e8dd5e5cc6 GPUMaterial: Make Mapping node use UBO storage
This means tweaking parameter is now interactive and does not need to
recompile the shaders.
2018-08-01 22:08:36 +02:00
Clément Foucault
ad64cb6344 GPUMaterial: Make Localize tree live longer
This is in order to reference the localized node->storage when populating
the UBO data.
2018-08-01 22:08:36 +02:00
Clément Foucault
4510f30026 GPUMaterial: Fix nearest sampling
texelFetch return vec4(0.0) if the target pixel is outside the texture
rect. So we mimic the default repeate mode that we have for linear
interpolation.

Fix T56156 Mapping-Node doesn't work
2018-08-01 22:08:36 +02:00
Clément Foucault
c6f55fb0db GPUUniformBuffer: Fix bad memcpy error catched by asan
We need to copy the size of the gputype not the padded type.
2018-08-01 22:08:36 +02:00
Sergey Sharybin
86270b60db Subsurf: Evaluate all UV layers
Before that it was only first UV layer which was properly evaluated,
the rest were ignored. Now all layers are being properly handled.
2018-08-01 18:43:03 +02:00
Sergey Sharybin
5b3b0ed54f Subsurf: Add API to provide vertex sharpness
Currently unused, added for the future and API completeness.
2018-08-01 18:42:59 +02:00
Sergey Sharybin
4fe14d6a26 Subsurf: Support subdivision of mesh with just loose elements 2018-08-01 18:42:59 +02:00
Sergey Sharybin
63058490a3 Subsurf: Cleanup, remove unused mappings and topology queries 2018-08-01 18:42:59 +02:00
Sergey Sharybin
ec4ba68730 Subsurf: Fix/workaround crashes and failures with non-manifold geometry
The idea is simple: do not provide full topology to OpenSubdiv, leave
edges creation to OpenSubdiv itself. This solves issues with non-manifold
meshes which were known to fail, including the ones from T52059.

On a positive side we can simplify our side of converter, keeping code
shorter.

it is still possible that we'll need to ensure all loops has same
winding, but that is less things to worry about.
2018-08-01 18:42:59 +02:00
Sergey Sharybin
08e6bccdf4 Subsurf: Support subdivision of loose elements
Applies to vertices and edges. Biggest annoyance here is that OpenSubdiv's
topology converter expects that there is no loose geometry, otherwise it
is getting confused.

For now solution is to create some sort of mapping from real Mesh vertex
and edge index to a non-loose-index. Now the annoying part is that this
is an extra step to calculate before we can compare topology, meaning FPS
will not be as great as if we knew for sure that topology didn't change.

Loose edges subdivision is different from what it used to be with old
subdivision code, but probably nice feature now is that endpoints of loose
edges are stay at the coarse vertex locations. This allows to have things
like plane with hair strands, without need to duplicate edge vertices at
endpoints.

All this required some re-work of topology refiner creation, which is now
only passing edges and vertices which are adjacent to face. This is how
topology refiner is supposed to be used, and this is how its validator
also works. Vertices which are adjacent to loose edges are marked as
infinite sharp. This seems to be good-enough approximation for now. In the
future we might tweaks things a bit and push such vertices in average
direction of loose edges, to match old subdivision code closer.
2018-08-01 18:42:59 +02:00
Sergey Sharybin
9e2f678ba2 Fix mistake in atomic bitmap
Internally values are stored as 32bit integers, no idea why i thought
they were 8 bit.
2018-08-01 18:42:59 +02:00
Sergey Sharybin
63dc52c66e Subsurf: Cleanup, remove dead code 2018-08-01 18:42:59 +02:00
Bastien Montagne
110abebe1d Fix missing poll function for flip_matcap operator (see T56183). 2018-08-01 17:28:30 +02:00
Bastien Montagne
be5ccb9ce8 Merge branch 'master' into blender2.8 2018-08-01 16:13:13 +02:00
Bastien Montagne
9336aef4eb Fix T56195: Typo in BLI_array_utils.h. 2018-08-01 16:12:36 +02:00
Brecht Van Lommel
c48eb52164 Fix Cycles headless render failing, after grease pencil merge.
Now it should at least succeed when there are no grease pencil objects.
2018-08-01 14:47:02 +02:00
Antonioya
ddd62f1b10 Cleanup: Remove ToDo comment 2018-08-01 11:21:37 +02:00
Antonioya
20e5fc4d32 Fix context problem when render in background mode
Bug reported by Sergey.
2018-08-01 10:58:10 +02:00
Antonioya
af79ac944d Cleanup: Replace "Move Color" to "Assign Material" 2018-08-01 10:39:16 +02:00
Antonioya
c06bed25c7 Fix T56187: Crash using cursor tool in Edit/Sculpt and Weight Paint mode
The transform tried to calculate the multiframe falloff, but there was not any stroke to do that.
2018-08-01 10:17:05 +02:00
Campbell Barton
3f5d3aa057 Merge branch 'master' into blender2.8 2018-08-01 16:39:34 +10:00
Campbell Barton
583b2f9a3d Cleanup: remove unused array member 2018-08-01 16:38:57 +10:00
Campbell Barton
5f55bbf3d0 RNA: add space_type to tool 2018-08-01 16:02:20 +10:00
Campbell Barton
f4a06b390b Keymap: use Q key for quick menu in gpencil mode
Note, the keys for changing line display are now more obscure
(Shift-Q, Shift-Alt-Q), and might be changed.
2018-08-01 12:19:46 +10:00
Campbell Barton
0f449541d2 Merge branch 'master' into blender2.8 2018-08-01 09:01:29 +10:00
Campbell Barton
6a39d72558 Cleanup: declare vars or make static 2018-08-01 08:57:31 +10:00
Campbell Barton
29937dce8f Merge branch 'master' into blender2.8
Move 'View3D.flag3' options into 'gp_flag'.
2018-08-01 08:42:00 +10:00
Campbell Barton
e8d58080df DNA: remove View3D.flag3
Having 'flag, flag2, flag3' is getting out of hand especially
when we support increasing the size of types.

Make flag2 into an int.

Note, this looses the 'show world' option,
but it's not such an important setting.
2018-08-01 08:08:59 +10:00
Clément Foucault
3667a5402e KnifeTool: Use GPUBatch API instead of IMM to fix buffer overflow issue
This also include a small optimisation (remove of a double loop and half of
the memory allocation for hit points)

This should fix T55946 Crash using knife tool on mesh with large number of
vertices.

Tried with a 500K vert suzanne and it seems fine.
2018-07-31 20:10:14 +02:00
Clément Foucault
6ba70d5996 Fix crash when rendering viewport within another area
This also Fix T55574 Crash on sequencer preview
2018-07-31 18:21:23 +02:00
Clément Foucault
7e0eb0d071 GPUFrameBuffer: Put active framebuffer in GPUContext
instead of being ThreadLocal and leading to incorrect usage.

We still enforce no framebuffer when changing context. We can lift this
restriction later.
2018-07-31 18:21:23 +02:00
Clément Foucault
3ecba657bb GPU: Replace malloc/calloc/realloc/free with MEM_* counterpart 2018-07-31 18:21:23 +02:00
Antonioya
9b817bc168 Fix set_pixel overflow in fill brush
The value of the index was above the size of image
2018-07-31 17:03:12 +02:00
Joshua Leung
4684375bd4 Fix: Motion Paths were still visible after clearing them
After clearing motion paths from objects, those objects needed to be
tagged for copy on write so that the copied data (i.e. viewport)
recieve the changes (i.e. removed paths)

Reported by Hjalti
2018-08-01 02:18:54 +12:00
Pablo Vazquez
d803b4e43b UI: Grease Pencil Simplify tweaks
Single-column layout and tweaks to tooltips.
2018-07-31 16:14:13 +02:00
Antonioya
d41f448b3b Change Brush smooth factor to 0.1 by default
The old values were too high.
2018-07-31 16:04:57 +02:00
Antonioya
ff1ca80f01 Set overlay default values 2018-07-31 15:57:11 +02:00
Antonioya
a3893ed03e Enable ghost onion skin by default
This option was changed by error when implement annotations.
2018-07-31 15:39:49 +02:00
Campbell Barton
ebca6f5f20 Fix grease pencil line toggle
Replace with generic context toggle operator.
2018-07-31 23:39:01 +10:00
Bastien Montagne
475e9003c0 Fix T55718: Blender 2.8 crashes when converting to Curve from Mesh.
We only want to care about runtime.mesh_orig if… data is indeed a Mesh! ;)
2018-07-31 15:33:47 +02:00
Pablo Vazquez
ddd44315b8 UI: Grease Pencil Onion Skin minor tweaks
Avoid double label for same properties in single-column.
Onion Skinning: Group custom colors together, and frame before/after together.

Small changes to tooltips.
2018-07-31 15:13:13 +02:00
Sergey Sharybin
bb7b1cc884 Fix T56170: Fake dependency cycle in new depsgraph + interleaved armature update + proxy
Make proxy copy result more atomic operation.
2018-07-31 13:24:57 +02:00
Antonioya
7a91ae1103 Fix memory leak in DRW_cache_gpencil_axes_get
The Batch was created using old function without  GPU_BATCH_OWNS_VBO and the batch was not removed from memory
2018-07-31 13:22:41 +02:00
Campbell Barton
31fcd40efd Cleanup: use static variables 2018-07-31 20:45:43 +10:00
Antonioya
f945303877 Cleanup: Fix weird comparisons 2018-07-31 12:44:01 +02:00
Antonioya
0b85bb847c Cleanup: Remove overflow array element 2018-07-31 12:38:44 +02:00
Antonioya
20d525eb8b Fix assert when load file with shading enabled
Credits for this fix goes to Clément Foucault.
2018-07-31 12:37:58 +02:00