Campbell Barton
5ae58f8ab8
DWM: Use draw manager for sculpt PBVH drawing
...
Add a shader-group type to draw
generated geometry by running a callback.
2017-05-11 21:27:33 +10:00
Campbell Barton
0ffb19ca64
Revert "DWM: remove redundant state reset"
...
Enable this for now, needs some investigation.
2017-05-11 18:56:41 +10:00
Campbell Barton
3465f80319
DWM: remove redundant state reset
2017-05-11 08:36:17 +10:00
Clément Foucault
da8b34e527
Eevee: Fix some issues
...
Fix issue with manipulator contributing to depth.
Fix blender internal shader.
2017-05-10 16:03:25 +02:00
Campbell Barton
0722e41f9e
DWM: Use Gawain for sculpt drawing
...
Currently only uses the simple shader.
2017-05-10 20:35:51 +10:00
Clément Foucault
965571cca7
Draw Manager: Handle negative scaled meshes.
2017-05-10 00:47:27 +02:00
Clément Foucault
707756d277
Draw Manager: Extend simplification to UBOs & fix a context error.
2017-05-09 23:55:19 +02:00
Clément Foucault
8277609810
Small cleanup
2017-05-09 23:55:19 +02:00
Clément Foucault
e32ec677c3
Draw Manager: Simplify usage and check for errors.
2017-05-09 23:55:19 +02:00
Clément Foucault
1413bee158
Draw Manager: Add additive blending.
2017-05-09 23:55:19 +02:00
Clément Foucault
306603ae76
GPUTexture: Add support for 32bit textures.
2017-05-09 23:55:19 +02:00
Clément Foucault
6dc8368b8f
Draw Manager: Add Triangle batching and empty batch.
...
This is usefull for Depth Of Field because we don't need to store data for each sprites and just generate them when rendering.
2017-05-09 23:55:19 +02:00
Clément Foucault
bf0ebfca1a
Draw Manager: Fullscreen triangle
...
Used a triangle instead of a quad for fullscreen passes.
2017-05-09 23:55:19 +02:00
Campbell Barton
f7ce1be694
DWM: share positions & normals in shading VBO.
2017-05-09 10:56:22 +10:00
Campbell Barton
e35e23c72c
Cleanup: rename layer-names -> layer-uuid
...
These names are created from a hash,
don't confuse with actual layer names.
2017-05-09 10:38:52 +10:00
Campbell Barton
faba1e7d6e
DWM: Tangent support for editmesh
2017-05-09 10:26:36 +10:00
Campbell Barton
0dd766b043
DWM: Share VBO positions & normals for mesh cache
...
Select, weight & color cache included redundant position and normals.
Use multiple VBO's per batch for more efficient storage.
2017-05-08 17:39:41 +10:00
Campbell Barton
6f1a8739a0
DWM: Fix face center's not working w/ hidden faces
2017-05-08 16:16:28 +10:00
Campbell Barton
d8bf5c1378
Cleanup: use struct for custom-data offsets
2017-05-08 13:00:44 +10:00
Campbell Barton
1a869fb6b9
DWM: show weights in edit-mode
...
Engine collection settings aren't currently flushed,
once they are this will work as expected.
2017-05-08 13:00:43 +10:00
Campbell Barton
0927748624
Vertex color access for edit-mode
...
Currently not used, adding since legacy drawing can display this.
2017-05-08 13:00:43 +10:00
Campbell Barton
d94e7936ee
Cleanup: style & header guards
2017-05-08 13:00:43 +10:00
Campbell Barton
d2bd9195d4
Cleanup: naming
2017-05-08 13:00:43 +10:00
Clément Foucault
c47926542a
GPUMaterial: Fix regressions concerning background texco
2017-05-07 15:51:54 +02:00
Clément Foucault
2a0c91b70c
GPUViewport: Make Depth texture not depth testable.
2017-05-07 15:51:54 +02:00
Clément Foucault
0aa2a662b9
Eevee: Add Bloom post process.
...
Based on Kino/Bloom v2 - Bloom filter for Unity
MIT license.
2017-05-07 15:51:54 +02:00
Clément Foucault
29c5692eba
Draw Manager: Fix multiple timer query issued for one pass.
2017-05-07 15:51:54 +02:00
Campbell Barton
5221093512
Cleanup: naming
2017-05-06 22:23:59 +10:00
Luca Rood
d9949c351d
Pass selection to weight paint vert overlay instead of colors
2017-05-05 18:23:27 +02:00
Dalai Felinto
8d9c484152
Implement overridable scene render settings
...
This add a new set of (possible) render settings that can be defined at
the scene level and overridable at the scene layer level.
Once we get workspaces we can either add workspace inbetween scene and
scene layer evaluation. Or to replace layer settings, to avoid extra
confusion to users.
An example of this setting is "samples", as implemented now for the clay
engine.
2017-05-05 18:08:24 +02:00
Luca Rood
872d8993dd
Clean up weight/vertex painting code
...
Now passing selection state instead of colors for the wire/face mask
overlay thing. Also added masking indication on the faces in vertex
paint.
2017-05-05 15:53:37 +02:00
Campbell Barton
ef746be982
Cleanup: include the type of data in function name
...
Was confusing, some functions return vert or triangle data
but naming wasn't very clear.
2017-05-05 06:42:53 +10:00
Dalai Felinto
129355c80a
Multiline support for ED_region_info_draw
...
Many thanks for Campbell Barton for the help here and the idea to
implement the multi-line as a new function with array as arguments.
2017-05-04 22:24:38 +02:00
Clément Foucault
6f5307e74d
Draw Manager: Add a memory stats to debug view.
...
Adds 2 static unsigned int to Gawain and GPUTexture to roughly keep track of the memory stats on the GPU.
Stats can be view at the bottom of the GPU stats with debug value > 20.
2017-05-04 21:26:54 +02:00
Campbell Barton
4bd2429f35
Use mesh draw cache for back-buffer selection
...
Vertex/weight paint now work with core profile, resolves T51380.
2017-05-05 05:17:31 +10:00
Campbell Barton
9869436b89
Cleanup: use doxy categories
2017-05-05 05:07:52 +10:00
Campbell Barton
c6800dd65b
Missed last commit
2017-05-05 05:06:57 +10:00
Campbell Barton
83d43a0e0b
Cleanup: de-duplicate mesh data calculation
2017-05-05 04:56:28 +10:00
Luca Rood
3103b819aa
Vertex paint with draw manager
...
Reviewers: fclem
Subscribers: campbellbarton, dfelinto
Differential Revision: https://developer.blender.org/D2658
2017-05-04 20:05:59 +02:00
Dalai Felinto
b5b9b2d04d
Draw Manager: Combine multiple engines info texts
...
This join them with \n separators.(right now they clash on top of each
other).
Note: We still need to change "ED_region_info_draw" to accept multi-line strings.
2017-05-04 19:38:16 +02:00
Clément Foucault
5b70283717
Draw Manager: Fix debugging output.
2017-05-04 19:38:03 +02:00
Clément Foucault
4ef0513aab
Eevee: Draw background shader.
...
Also fixes some remaining errors caused by some matrices not updated.
2017-05-04 17:42:22 +02:00
Clément Foucault
5601a62179
Eevee: Simple Camera Motion Blur.
...
Disabled by default. Set ENABLE_EFFECT_MOTION_BLUR to 1 to enable.
No fancy motion blur. Use depth and camera matrix to get the motion vectors. Then blur in this direction.
Only available in camera view.
Only Camera animation is supported, does not take into account the parents motion
2017-05-04 17:42:22 +02:00
Dalai Felinto
a3d8ef059c
Draw Manager: Implement render info for external engines
...
This can be used by any engine actually. For example to give feedback
regarding probe caching in Eevee, ....
Unline master, we try to conciliate both the original viewport info
(FPS, view name) and the render info.
Note: I had to split the function in two because the camera alpha
passepartout is handled inside the view3d_draw_region_info function.
Review: Campbell Barton and Clement Foucault.
Thanks to Sergey Sharybin and Pablo Vazquez for some of the design
discussions.
2017-05-04 16:59:58 +02:00
Campbell Barton
6ea45da05c
Cleanup: rename ct -> len
...
Also use 'defgroup' instead of 'index' for passing weight arg.
2017-05-04 23:37:03 +10:00
Campbell Barton
8c2b98ffa5
Cleanup: line length
2017-05-04 03:35:01 +10:00
Campbell Barton
d96171ab53
Correct struct type (harmless)
2017-05-04 03:17:05 +10:00
Luca Rood
20f95de6ba
Weight painting with draw manager
...
This implements weight rendering with the draw manager, with all drawing
options (Shading, wire, face masking, vertex masking).
This is part of T51208
Reviewers: campbellbarton
Subscribers: dfelinto
Differential Revision: https://developer.blender.org/D2654
2017-05-03 18:57:35 +02:00
Dalai Felinto
673e6fc535
Draw Manager: Bring pose bones to the pose engine
...
Note: We should test if the armature is the "armature modifier" parent of the
object.
If any good samaritan feels like tackling this, the function to change
is: DRW_pose_mode_armature
2017-05-03 18:06:47 +02:00
Campbell Barton
3bf31c6d23
Move pose-bone colors into draw_data
...
Also only allocate necessary number of bone segments.
2017-05-04 01:32:16 +10:00