Clément Foucault
854c999d82
GPUShader: Change shader state tracking to be part of the GPUContext
...
This remove the use of batch->program and replace it with batch->shader.
This will allow GL abstraction latter.
2020-08-13 14:20:23 +02:00
Clément Foucault
186abf7d3b
GPUBatch: Remove usage of gl_prim_type outside of GPU module
2020-08-13 14:20:23 +02:00
Clément Foucault
38ef35b1ed
GPUDrawList: GL backend isolation
2020-08-13 14:20:23 +02:00
Clément Foucault
54b3168c4a
Fix T77424 Overlay: Editmode: Issue with multi edit and in-front option
...
This is a nice addition to the refactor. Now any combination of in-front
/ not in-front will work in non x-ray edit mode.
2020-08-12 19:57:23 +02:00
Brecht Van Lommel
6238eabcd4
Merge branch 'blender-v2.90-release'
2020-08-12 18:50:40 +02:00
Clément Foucault
240ac779d5
Merge branch 'blender-v2.90-release'
...
# Conflicts:
# source/blender/draw/engines/eevee/eevee_motion_blur.c
2020-08-12 18:16:47 +02:00
Brecht Van Lommel
6f502136c7
Fix T79718: Eevee OpenVDB render error when frames miss part of the grids
2020-08-12 18:10:50 +02:00
Clément Foucault
2218b61e8e
Fix T79637 Motion blur gives artifacts when changing the camera
...
DRW_render_set_time is calling RE_engine_frame_set will in turn calls
BKE_scene_camera_switch_update.
To workaround this, we get the original camera object at render init and
get the evaluated version from it after each time change.
2020-08-12 18:06:36 +02:00
Clément Foucault
879ed5a165
EEVEE: Motion Blur: Fix issue with batch overflowing with VBOs
2020-08-12 18:06:36 +02:00
Clément Foucault
bea79e0c7b
EEVEE: Fix dupli recursion constant
2020-08-12 18:06:36 +02:00
Clément Foucault
1eab858dbc
EEVEE: Rework deformation motion blur
...
This change how motion data are indexed inside the ghash.
We follow cycles closely now and use evaluated ID pointers.
By removing the hack, it fixes T78561 (No Motion Blur on linked objects)
2020-08-12 18:06:36 +02:00
Clément Foucault
2b042d885a
EEVEE: Motion Blur: Use evaluated object as key to motion data
...
This fix issues with instanced geometry and modifiers. Since the
depsgraph will duplicate the objects when they have different modifiers,
the evaluated object are garanteed to be unique.
2020-08-12 18:06:36 +02:00
Clément Foucault
2b6d4325ac
Merge branch 'blender-v2.90-release'
2020-08-11 20:07:20 +02:00
Clément Foucault
7219abc5bd
Fix T79672 EEVEE: Motion blur steps value broken after recent change
...
Was just an issue of `taa_render_sample` being reset to 1 when it shouldn't.
2020-08-11 20:07:03 +02:00
Antonio Vazquez
cae4041878
Fix T79683: Dim GPencil points created by modifiers
...
This change makes the generated points a light dimmer than selectable points.
Before:
{F8765593}
After:
{F8765585}
Maniphest Tasks: T79683
Differential Revision: https://developer.blender.org/D8515
2020-08-11 19:13:15 +02:00
Germano Cavalcante
01537f7a9d
Merge branch 'blender-v2.90-release'
2020-08-10 12:06:33 -03:00
Germano Cavalcante
c0340ec893
Fix T78113: Random explosions of cloth with self collision
...
The problem is caused by a lack of prediction in the `isect_line_segment_tri_v3`
that incorrectly confirms some intersections of coplanar segments to the triangle.
The solution is to use another algorithm to detect intersections.
This also resulted in a slight improvement in the performance:
- 1min 17sec to 1min 6sec in my test file
Differential Revision: https://developer.blender.org/D8500
2020-08-10 12:05:37 -03:00
Jeroen Bakker
e2d5e8d584
Merge branch 'blender-v2.90-release'
2020-08-10 09:09:49 +02:00
Clément Foucault
00162e6b7b
Fix T79246 GPUShader: compile error on AWS Elastic Graphics
2020-08-09 14:07:00 +02:00
Campbell Barton
a1d57e3f05
Cleanup: replace sizeof division with ARRAY_SIZE macro
2020-08-08 14:08:37 +10:00
Campbell Barton
171e77c3c2
Cleanup: use array syntax for sizeof with fixed values
...
Also order sizeof(..) first to promote other values to size_t.
2020-08-08 13:38:00 +10:00
Clément Foucault
f742a7ac79
DRW: Fix runtime error: shifting signed 32bits int
2020-08-08 01:46:51 +02:00
Clément Foucault
0255f1e022
GPUBatch: Use custom allocator
...
This is needed for the new GPU abstraction.
2020-08-08 01:15:27 +02:00
Clément Foucault
0063d1befc
DRW: Instance Data: Replace GPUBatch bulk allocation by separate alloc
...
This is suboptimal but needed for the new GPU abstraction.
Maybe a better solution will be needed if performance is impacted.
2020-08-08 01:15:27 +02:00
Campbell Barton
48e089375e
Cleanup: pass arrays const where possible
2020-08-07 22:56:13 +10:00
Campbell Barton
b134434224
Cleanup: declare arrays arrays where possible
2020-08-07 22:37:39 +10:00
Sybren A. Stüvel
156448ba4b
Cleanup: Draw, Clang-Tidy else-after-return fixes (incomplete)
...
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/draw` module. Not all warnings are addressed
in this commit.
No functional changes.
2020-08-07 12:01:40 +02:00
Jacques Lucke
7283e6fb73
Merge branch 'blender-v2.90-release' into master
2020-08-07 10:04:57 +02:00
Jacques Lucke
91694b9b58
Code Style: use "#pragma once" in source directory
...
This replaces header include guards with `#pragma once`.
A couple of include guards are not removed yet (e.g. `__RNA_TYPES_H__`),
because they are used in other places.
This patch has been generated by P1561 followed by `make format`.
Differential Revision: https://developer.blender.org/D8466
2020-08-07 09:50:34 +02:00
Clément Foucault
21fec95139
Merge branch 'blender-v2.90-release'
2020-08-07 01:23:20 +02:00
Clément Foucault
58909abc68
EEVEE: Render: Fix regression caused by previous Motion blur fix
...
Caused by rB4f59e4bddcb0c06e441adf68a5f252a4e5b4b260
2020-08-07 00:59:14 +02:00
Clément Foucault
6e226275fd
Merge branch 'blender-v2.90-release'
2020-08-06 23:06:33 +02:00
Clément Foucault
4f59e4bddc
Fix T78452 EEVEE: Motion Blur: Crash when using camera switching
...
This was caused by the ViewLayer being freed with all its
engine data.
2020-08-06 23:06:18 +02:00
Clément Foucault
3dcaca93a0
Fix T78160 EEVEE: Motion Blur: Bug with Follow Path animation
...
Follow path seems to not be catched by `BKE_object_moves_in_time`.
For this reason, we cache all transforms for all object and check
ourselves if an animation occurs. This is almost what cycles does.
We also fix the rigid body case if the rigid body use deformation.
2020-08-06 23:06:18 +02:00
Antonio Vazquez
9a1ff4445b
Merge branch 'blender-v2.90-release'
2020-08-06 19:52:49 +02:00
Vincent Blankfield
8fbfc150a0
Fix T77885: crash rendering grease pencil from compositor with multiple scenes
2020-08-06 19:19:22 +02:00
Julian Eisel
73a43c9d8a
Fix buffer-overflow when drawing Curve Guide objects
...
Was passing an array of length 3 to `where_on_path()` that expected
length 4.
2020-08-06 14:14:55 +02:00
Julian Eisel
cb294c3a01
Fix buffer-overflow when drawing Curve Guide objects
...
Was passing an array of length 3 to `where_on_path()` that expected
length 4.
2020-08-06 14:12:23 +02:00
Clément Foucault
690d61cf78
Merge branch 'blender-v2.90-release'
2020-08-06 13:39:09 +02:00
Clément Foucault
574bd866c8
Fix T78520 EEVEE: No viewport update when changing material nodetree
...
This was comming from rBd82c3d86155ea3c7831c7b5ef5d07bc8e2d99394
2020-08-06 13:37:41 +02:00
Clément Foucault
3474b0968a
Merge branch 'blender-v2.90-release'
2020-08-05 22:29:40 +02:00
Clément Foucault
29ef7142dd
EEVEE: Fix previous commit
...
Small mistake in rB5249a813f22f
Now for fix it real!
2020-08-05 22:18:26 +02:00
Clément Foucault
2b7d39c3f1
Merge branch 'blender-v2.90-release'
2020-08-05 22:13:15 +02:00
Clément Foucault
5249a813f2
Fix T78954 EEVEE: Motion Blur: Bug with hair particles on linked objects
...
The cache key for particle system was the original Object data. But this
is incorrect for particle systems as modifiers are not shared.
2020-08-05 22:12:53 +02:00
Clément Foucault
7aec56204b
Merge branch 'blender-v2.90-release'
2020-08-05 20:33:40 +02:00
Clément Foucault
f3e724b93d
Fix T79370 EEVEE: Texture paint does not update during stroke
...
Was caused by rBd82c3d86155e
2020-08-05 20:33:24 +02:00
Julian Eisel
d9b72a96b3
Merge branch 'blender-v2.90-release'
2020-08-05 19:41:04 +02:00
Clément Foucault
38e9a349de
Workbench: Fix broken id pass
2020-08-05 19:37:41 +02:00
Clément Foucault
cf3431e0e8
Fix T79509 Workbench: Object color mode broken if more than 4096 objects
...
This was due to the new DRWShadingGroup not being saved and reused for
the next objects.
2020-08-05 19:37:41 +02:00
Brecht Van Lommel
b3d35d2039
Fix Cycles + grease pencil render failing after recent GPU refactoring
...
GPU_texture_update_sub now requires the texture to be bound already.
2020-08-05 17:17:21 +02:00