Commit Graph

78701 Commits

Author SHA1 Message Date
Clément Foucault
5f6fb5bb41 Cleanup: Split gpu_texture_image.c into BKE and IMB modules
This is in order to disolve GPU_draw.h into more meaningful code blocks.

All the Image related function are in `image_gpu.c`.
All the MovieClip related function are in `movieclip.c`.

The IMB module now has a connection with GPU. This is not strickly
necessary and the code could be move to `image_gpu.c` if needed.

The Image garbage collection is also ported to `image_gpu.c`.
2020-07-29 23:06:37 +02:00
Clément Foucault
7e8d493730 GPU_draw.h: cleanup before splitting 2020-07-29 23:06:37 +02:00
Clément Foucault
c09f61a915 RNA: Image API: Fix error in NULL check in rna_Image_gl_touch
This check was always returning true.
2020-07-29 23:06:37 +02:00
Hans Goudey
5f46a0fbce Cleanup: Rename define
*_LEN follows names elsewhere in Blender more closely than "_N_"
2020-07-29 17:01:46 -04:00
Pablo Dobarro
8c10e56331 Sculpt: Cloth Brush Soft Body Influence property
This property adds constraints to the simulation using the initial
location of the vertices, making it behave like a soft body. The
strength of these constraints can be modified with the brush parameter.
This makes some deformation modes more subtle and predictable, making it
possible to use the cloth brush to add surface detail in a more
controllable way without loosing completely the original shape of the
mesh.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D7845
2020-07-29 19:14:03 +02:00
Bastien Montagne
ebda95953c Merge branch 'blender-v2.90-release' 2020-07-29 18:22:33 +02:00
Bastien Montagne
3274ce0a8e Fix T79119: Hook modifier deformation not shown in edit mode.
Missing temp `BKE_mesh_wrapper_ensure_mdata` hack for the Hook
modifier...
2020-07-29 18:21:27 +02:00
Bastien Montagne
f62c7c546a Merge branch 'blender-v2.90-release' 2020-07-29 17:39:59 +02:00
Bastien Montagne
4e6975ffd6 Fix T78285: Invalid thread safety in shrinkwrap modifier code.
This uses mesh's runtime mutex for both `BKE_mesh_runtime_looptri_ensure`
(was using its own global RW mutex before), and `BKE_mesh_wrapper_ensure_mdata`
(was not protected at all before).

This is more like a band-aid than a proper fix, as mentioned in the report
proper fix would be for the modifier to request those data (the relevant
BVHTree, which would implicitely also call the tow others) through flags,
just like it does for regular CDData layers. But this is a much bigger
refactor to be done outside of bugfix scope.

Reviewed By: sergey

Maniphest Tasks: T78285

Differential Revision: https://developer.blender.org/D8415
2020-07-29 17:36:46 +02:00
Pablo Dobarro
03acbc7b71 Merge branch 'blender-v2.90-release' 2020-07-29 17:22:50 +02:00
Pablo Dobarro
54a2fcc0f3 Fix Cloth Brush global Sculpt gravity applied in the wrong falloff
Previously, gravity was only applied in the real brush radius, not in
the whole simulation radius. For most deformation modes, applying
gravity to the entire simulation instead of just to the brush radius and
scaled by the radius (like a regular sculpt brush) makes more sense.
After this fix and with the cloth collisions patch applied, it is possible
to do things like this with the cloth grab brush.

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D8406
2020-07-29 17:21:41 +02:00
Pablo Dobarro
6e5278c3da Fix T79054: Crash with Cloth Brush and anchored stroke
As the comment says, anchored stroke can't rely on the first stroke
iteration for creating the simulation data. Probably lost in a cleanup.

I also made that anchored stroke doesn't restore the mesh state in the
cloth brush, so it can create the simulation effect.

Reviewed By: sergey

Maniphest Tasks: T79054

Differential Revision: https://developer.blender.org/D8348
2020-07-29 17:19:10 +02:00
Sergey Sharybin
83f01db7a9 Compositor: Fix node preview when input resolution is not known
The final render will use scene resolution in this case.

For example, when Color Input is plugger to preview and composite output
nodes, final render will flood-fill the final image which is a size of
scene resolution with this color. Before this fix the node preview was
empty. After this fix the node preview will be flood-filled with the
color.

Fixes T78586

Differential Revision: https://developer.blender.org/D8263
2020-07-29 17:18:35 +02:00
Sergey Sharybin
66df8fff32 Compositor: Fix calculation of preview resolution
Were two issues:

- Divider was calculated in integer domain, causing rounding issues in
  general case, and causing singularity in a corner case when input is
  smaller than the preview size.

- The resolution was scaled down by 1 pixel for no obvious reason.
2020-07-29 17:18:35 +02:00
Clément Foucault
b9c7c904ed GPUShader: Fix linking with MSVC 2020-07-29 16:07:51 +02:00
Clément Foucault
f0687d4665 Cleanup: GPUTexture: Use UNPACK3 in texture_fluid 2020-07-29 15:54:51 +02:00
Clément Foucault
1804a6d040 GPUState: Fix compilation error on MSVC 2020-07-29 15:54:51 +02:00
Clément Foucault
2d89cd7dd5 Cleanup: GPU: Move Image based function to GPU_draw.h
This makes it less confusing what functions are for blender
structures.
2020-07-29 15:54:51 +02:00
Clément Foucault
99d0b3b793 Cleanup: GPU: Rename gpu_texture_smoke to fluid, and move back to C
The file do not have a reason to be C++ anymore.
2020-07-29 15:54:51 +02:00
Antonio Vazquez
7becd283cc GPencil: New Brush predefined mode
it's good to have an option to ' pin' a mode to the brush, to use that mode always, independent of the current viewport selected mode.

{F8723224}

Reviewed By: pepeland

Differential Revision: https://developer.blender.org/D8399
81a002
2020-07-29 15:34:54 +02:00
Bastien Montagne
ade7603379 Cleanup: Remove deprecated comment. 2020-07-29 15:30:10 +02:00
Bastien Montagne
e2e87efea2 Cleanup: Always keep unlock at same level as lock.
This was fine in those cases with current code, but that kind of
assumption is always risky, and an open door to hard-to-track bugs when
code changes in the future...
2020-07-29 15:30:10 +02:00
Clément Foucault
e749643793 GPU: Refactor gpu_texture_image to not use GL calls
This is also a bit of code cleanup, reorganisation.

Tried to be DRYed but avoid too much code change to (hopefully) minimize
breakage.

- GPU: remove TEXTARGET_CUBE_MAP, this is no longer used in the codebase.
- GPUTexture: Move compressed texture upload to gpu_texture.cc
- GPUTexture: Add per texture Anisotropic filtering switch
2020-07-29 15:03:02 +02:00
Clément Foucault
e4ee9de638 GPU: Move gpu_shader.c to C++
We split builtin shader support to its own file to avoid
converting code (lack of designated initializer in C++)
and to reduce file size.
2020-07-29 15:03:02 +02:00
Clément Foucault
18d2db22ff GPU: Move gpu_state.c to C++ 2020-07-29 15:03:02 +02:00
Clément Foucault
45d61bdc03 GPU: Move gpu_texture.c to C++
# Conflicts:
#	source/blender/gpu/GPU_texture.h
2020-07-29 15:03:02 +02:00
Clément Foucault
56d0a554a8 GPU: Move gpu_uniformbuffer.c to C++
This also rewrite and simplify the module a bit.
2020-07-29 15:03:02 +02:00
Clément Foucault
f84342d7e1 GPU: Move gpu_vertex_buffer.c to C++ 2020-07-29 15:03:02 +02:00
Clément Foucault
959529d4b8 GPU: Move gpu_vertex_format.c to C++ 2020-07-29 15:03:02 +02:00
Germano Cavalcante
18caaff149 Merge branch 'blender-v2.90-release' 2020-07-29 09:10:07 -03:00
Germano Cavalcante
84f7de432c Fix T78826: Move constraint is not fully disabled
Caused by rB45f17e10ec50
2020-07-29 09:09:34 -03:00
Jacques Lucke
9c807325dd Particles: rename Size attribute to Radius
Doing this change for consistency with the point cloud attributes.
2020-07-29 12:03:30 +02:00
Sebastián Barschkis
91150c9ef5 Workbench/Eeevee: Minor refactor in smoke draw function
More concise this way.
2020-07-29 11:22:35 +02:00
Antonio Vazquez
659db0592d GPencil: Consider extrude point as last
Before, when extrude a point, the extruded point is considered as the first point of the stroke, but this was not logic.

Now, the extrude point is considered as last.

Related to T79313
2020-07-29 11:19:35 +02:00
Jacques Lucke
4cad74e589 Particles: add Size attribute 2020-07-29 10:05:27 +02:00
Brecht Van Lommel
3e82500509 Fix T79355: switch to texture paint workspace changes image in other workspaces
Only automatically change image in editor to follow texture paint editors and
workspaces that are visible.
2020-07-29 09:06:23 +02:00
Campbell Barton
7a07683060 Cleanup: rename uiBut.dt, uiBlock.dt to 'emboss'
Use 'emboss' instead of 'draw_type' as enum, layout & functions use
the term emboss.

This issue was noted by @Poulpator in D8414, as `dt` is also an
abbreviation for delta-time.
2020-07-29 12:05:27 +10:00
Campbell Barton
a3c6304a27 Cleanup: quiet possible comma misuse warning in feestyle PyAPI 2020-07-29 11:00:32 +10:00
Campbell Barton
1e76441dd6 Clanup: unused return 2020-07-29 10:50:43 +10:00
Campbell Barton
dcad6c9db8 Cleanup: correct assert in GPU_offscreen_read_pixels 2020-07-29 10:50:31 +10:00
Campbell Barton
ac6fbf6ba8 Cleanup: declare static variables 2020-07-29 10:50:10 +10:00
Campbell Barton
012ed9ca9f Fix incorrect flag check in overlay relationship lines 2020-07-29 10:45:53 +10:00
nutti
0f075c25c4 Docs: add translation keyword argument default for msgctxt 2020-07-29 10:01:42 +10:00
nutti
55c6cc46b5 Fix RST syntax for freestyle documentation 2020-07-29 09:49:08 +10:00
Hans Goudey
7dfc2f5137 Cleanup: Doxygen sections, comment formatting 2020-07-28 17:20:41 -04:00
Jacques Lucke
a0bc3596f0 Cleanup: class -> struct 2020-07-28 20:56:45 +02:00
Jacques Lucke
cd3be9c46d Cleanup: too small loop variable 2020-07-28 20:56:34 +02:00
Hans Goudey
c3f6227f30 Cleanup: Use bool instead of int 2020-07-28 14:24:25 -04:00
Antonio Vazquez
e5e97d0fe0 Merge branch 'blender-v2.90-release' 2020-07-28 18:46:38 +02:00
Antonio Vazquez
d8919d12f7 GPencil: Fix typo error in RIM VFX panel
The vertical axis must be named Y, not Z because it works in 2D space.
2020-07-28 18:46:22 +02:00