b4d053efc7
Gawain API naming refactor
...
Use consistent prefix for gawain API names as well as
some abbreviations to avoid over-long names, see: D2678
2017-06-19 20:18:04 +10:00
90aff807ab
Draw Manager: Texture Memory usage improvement.
...
-Use 11_11_10 buffers for hdr content.
-Eevee compositing share 1 buffer if bloom and DOF are both activated.
-Fix slowdown when resizing EEVEE viewport.
-Removed DRW_BUF_*** enums causing confusion.
2017-05-16 20:30:17 +02:00
8f028ec840
Cleanup: rename struct for private engine data
...
Also remove from pass list (there were some duplicate unused entries).
2017-04-29 16:52:12 +10:00
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
23c4f01fb4
Draw Manager: hide 2d curves normals
2017-04-23 03:28:53 +10:00
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
c4780ee459
Cleanup: redundant struct qualifier & long lines
2017-04-21 04:40:44 +10:00
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
84c464a4b8
Use theme vertex size for lattice & curve vertices
2017-04-20 21:16:37 +10:00
72efee07ff
Draw Manager: draw curve normals
2017-04-20 05:33:52 +10:00
896d62d1c2
Fix error disabling curve handles
2017-04-20 04:53:55 +10:00
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
f1fb605ec9
GPUFramebuffer: Allow to bind a specific texture mip to framebuffer.
2017-04-18 12:52:29 +02:00
64660b902c
Use 'safe' macros for common free operation
...
Same as MEM_SAFE_FREE macro,
checks for NULL, runs free then sets NULL.
Blocks of code that do this many times are noisy and likely
errors here wouldn't be noticed immediately.
Also NULL's static vars which were being left set.
2017-04-13 13:37:27 +10:00
0c9a2def8b
Draw Engine: remove hard coded limit on array sizes
...
This removes MAX_STORAGE, MAX_BUFFERS, MAX_TEXTURES, MAX_PASSES limits.
Actual memory saving isn't so important, it just means we don't need to
manually bump these based on changes to engines.
2017-04-12 19:51:14 +10:00
cc0c5dbd91
Cleanup: use DRW_cache_mesh prefix w/ mesh objects
...
Avoid confusion for non mesh types where verts/wire/surface might apply.
Other object types use this convention already.
2017-04-12 18:11:10 +10:00
0811d089b4
Draw Manager: Use Texture flag in Framebuffer init.
2017-04-10 12:36:32 +02:00
4a8aaab0b2
Draw Manager: Use engine type pointer instead of engine name.
...
Faster search
2017-04-03 21:52:42 +02:00
deda6a43fc
Draw Engines: Make g_data struct part of the viewport storage
...
This makes viewport cache construction independant from each others and will allow multithread down the road.
2017-03-27 14:01:47 +02:00
e54d8eeab2
Draw Manager: Make Viewport Data passed by the manager call.
2017-03-27 14:01:47 +02:00
fc72a2ff4b
Draw module: code style, encapsulate static vars
2017-03-20 15:19:03 +01:00
91837cd5b0
Cleanup: warnings
2017-03-14 18:40:23 +11:00
ecce1fabca
Mode Engines: Fix MSVC compilation error.
2017-03-13 11:39:41 +01:00
9c6b9e889c
Clay Engine: Mode engine templates.
...
Standard Engine layout easy to extend.
Note that most of the work will also happen in mesh_render.c to create geometry batches.
2017-03-12 21:16:03 +01:00