Dalai Felinto
b27775138b
Pass depsgraph via Context to selection code
2017-04-26 11:05:04 +02:00
Dalai Felinto
f88e6763d6
Depsgraph and selection: Flush selcol on Depsgraph
...
Selection code needs to iterate over DEG_OBJECT_ITER otherwise we won't
get modifiers, dupli objects, ...
Also make selection respect selectability flag.
Review by: Sergey Sharybin
2017-04-26 10:42:40 +02:00
Campbell Barton
ab168f63f6
Remove show_backface_culling check in select engine
...
May add back so selection engine can read backface cull state
from from different engines.
2017-04-26 18:08:49 +10:00
Campbell Barton
3f91567052
Cleanup: draw engine
...
- use DRW_engine prefix for engine types.
- use engine suffix for files that define a draw engine.
- remove engines from include path (they're only referenced once)
2017-04-26 17:42:39 +10:00
Campbell Barton
bfc2043332
Draw Manager: add select engine
...
This does very little currently, but allows changing behavior for
selection drawing in the future.
2017-04-26 17:25:41 +10:00
Campbell Barton
de0d3ec457
Allow new selection in eevee & blender draw modes
2017-04-26 16:52:02 +10:00
Campbell Barton
5634763e5e
Draw Manager: armature editmode selection
2017-04-26 16:12:01 +10:00
Clément Foucault
82686f0a0c
Eevee: World default shader.
...
- Use uniform color world for the world probe.
- Refactored the Fresnel expression to be better with Area Lights.
- Squared the roughness for default materials.
2017-04-25 23:51:05 +02:00
Clément Foucault
bb75b0bcbc
Eevee: Disable shadow rendering until we get proper update scheduling.
...
Performance is quickly getting poor when you have lights otherwise.
2017-04-25 23:51:05 +02:00
Clément Foucault
7bc637a40d
Eevee: Fix Square light with non uniform scale.
2017-04-25 23:51:05 +02:00
Campbell Barton
d8e83516e2
Draw Manager: support for selection using engines
...
Needed to remove old draw code entirely.
Object mode selection support, pose and armature still need to be added.
Enabled when 'use_modern_viewport' is set.
2017-04-26 04:59:18 +10:00
Clément Foucault
041a50291b
Eevee: Make default shaders works.
...
- Added New Batch cache routine to get the split mesh for each material. (optimization needed)
- Did some shader modifications to create default_frag and support a somwhat correct fresnel for lamps (to finish)
2017-04-25 18:47:20 +02:00
Campbell Barton
7cf7b3b7e5
Draw Manager: clear draw global data after use
2017-04-26 00:39:53 +10:00
Campbell Barton
acf07e7366
Draw Manager: store context vars per draw
...
Was performing context access per object for scene, region etc.
While not very slow they don't change during drawing so cache in a struct.
This also makes it possible to draw in views besides the current context.
2017-04-26 00:35:08 +10:00
Campbell Barton
79fd8eeb0e
missing from last commit
2017-04-23 04:06:45 +10:00
Campbell Barton
2acb5d1e38
Fix armature drawing ignoring object matrix
...
Looks like name-space collision.
2017-04-23 04:03:13 +10:00
Campbell Barton
23c4f01fb4
Draw Manager: hide 2d curves normals
2017-04-23 03:28:53 +10:00
Campbell Barton
4ee36a2aea
Cleanup: line length
2017-04-22 16:13:18 +10:00
Campbell Barton
36b29c05db
Cleanup: use DRW_shgroup_call prefix for dynamic and fixed
...
More useful for completion since an 'shgroup_dynamic' is not a thing
(would be confusing if other dynamic functions are added).
2017-04-22 15:53:11 +10:00
Mike Erwin
12261aa047
fix unitizialized use warning
...
The code would only use 'type' uninitialized in error conditions, but it's still better to avoid that.
caught by clang
2017-04-21 15:51:08 -04:00
Mike Erwin
dcda9b4136
Eevee/OpenGL: fix shader for core profile
2017-04-21 15:48:56 -04:00
Clément Foucault
8ac1f03f41
Eevee: Cascaded Shadow Maps, follow up.
...
- Compute coarse bounding box of split frustum. Can be improved
- Make use of 4 cascade.
- View dependant glitches are fixed.
- Optimized shader code.
2017-04-21 16:43:35 +02:00
Campbell Barton
bfa888cef2
Cleanup: move draw-cache creation from BKE to DRW
...
Creating draw-cache should only ever be used by the draw-manager.
2017-04-21 22:06:06 +10:00
Dalai Felinto
4b77fb3075
Move DEG_OBJECT_ITER inside depsgraph
2017-04-21 13:00:40 +02:00
Campbell Barton
3e7968c35f
Draw Manager: don't assign bool from flags
...
Some MSVC versions don't support this.
2017-04-21 18:43:54 +10:00
Dalai Felinto
01a627dac9
Include the set in the depsgraph objects iterator
...
Pending: Include the set in the rna depsgraph.objects
In fact it would be nice to unify them both. However this will likely
change once Depsgraph incorporate this iterator, so I'm not sure we
should bother with that.
Related to T51203
2017-04-21 09:56:26 +02:00
Campbell Barton
3a75e84376
Draw Manager: edit-mode 3d text drawing
...
Draw cursor and selection, also support for fast-display.
2017-04-21 17:58:18 +10:00
Campbell Barton
c4780ee459
Cleanup: redundant struct qualifier & long lines
2017-04-21 04:40:44 +10:00
Campbell Barton
d21a4407dc
Cleanup: rename & change order of declaration
2017-04-21 04:29:33 +10:00
Campbell Barton
677aa36632
Curve: draw curve/surface/text geometry
...
Note that displists will be removed, but this wont be hard to replace.
Signed-off-by: Campbell Barton <ideasman42@gmail.com >
2017-04-21 04:23:28 +10:00
Campbell Barton
afc885cd13
Draw Manager: round vertex size up
...
Without this assigning `gl_PointSize = sizeVertex`
made vertices too small.
2017-04-20 21:16:37 +10:00
Campbell Barton
84c464a4b8
Use theme vertex size for lattice & curve vertices
2017-04-20 21:16:37 +10:00
Clément Foucault
3d17ece539
Eevee: Start Implementation of Cascaded Shadow Maps
2017-04-20 13:07:51 +02:00
Clément Foucault
b386828671
Eevee: Do shadow cube render in one pass.
2017-04-20 13:07:51 +02:00
Clément Foucault
3fa665f56d
Draw Manager: Fix Gradient Background
2017-04-20 13:07:51 +02:00
Campbell Barton
72efee07ff
Draw Manager: draw curve normals
2017-04-20 05:33:52 +10:00
Campbell Barton
896d62d1c2
Fix error disabling curve handles
2017-04-20 04:53:55 +10:00
Campbell Barton
1427765ec5
Cleanup: remove redundant assignments
...
Return the 'Batch' instead of assigning a variable.
2017-04-20 00:52:53 +10:00
Campbell Barton
cdba73c8fa
Draw Manager: curve support
...
Draws the curve centerline and editmode verts/handles.
Handle theme colors, and normal display still need adding.
2017-04-20 00:38:44 +10:00
Campbell Barton
ce6b01f203
Cleanup: move theme-id to shader-group into funcs
2017-04-20 00:26:44 +10:00
Clément Foucault
76ecbd38f2
Edit Mode Engine: Fix shader compilation on AMD. Also fix Bweight display.
2017-04-19 11:09:07 +02:00
Clément Foucault
b3edd94e42
Eevee: Fix black background
2017-04-19 11:09:07 +02:00
Clément Foucault
94d5ca7cdb
Eevee: Remove last deprecated textureCubeLod
2017-04-18 22:56:55 +02:00
Clément Foucault
8c584dcb65
Eevee: fix core profile.
2017-04-18 22:46:09 +02:00
Clément Foucault
0610bc88a3
Eevee: Re fix Compilation on MSVC
2017-04-18 22:34:44 +02:00
Clément Foucault
5670e4149b
Eevee: fix compilation error with MSVC
2017-04-18 22:02:46 +02:00
Clément Foucault
303a9ae0e8
Eevee: Optimize Spherical Harmonic computation time (17ms -> 1ms)
2017-04-18 21:33:09 +02:00
Clément Foucault
80db709250
Eevee: Spherical Harmonic diffuse.
...
For now it's done each frame and it's rather slow (16ms) but result will be cached soon.
2017-04-18 21:33:09 +02:00
Clément Foucault
5bbc803ff0
Eevee: Fix crash on core profile.
2017-04-18 21:33:09 +02:00
Clément Foucault
85b4398d90
Draw Manager: Fix uniforms array not been found.
2017-04-18 21:33:09 +02:00