b6dbd8723c
DRW / Render: Add support for render pipeline in drawmanager.
...
For simplicity we choose to execute the rendering of Opengl engines in the main thread and block the interface.
This might be addressed in the future at least for video rendering.
A drawmanager wrapper (DRW_render_to_image) is called by the render pipeline to set up the Opengl state and then call the specific draw_engine->render_to_image function.
2018-01-29 22:00:15 +01:00
10ce5af2dd
Revert "Fix use-after free in DRW_shader_create_with_lib"
...
Caused an error entering edit-mode.
d60f26f37a & 2659500835
2018-01-17 20:39:42 +11:00
2659500835
DRW: Codestyle refactor: Use macro to create shader libs.
...
This clears up the code from many DynStr usage. Easier to read.
2018-01-16 23:40:15 +01:00
dc4c9de91a
Draw manager: Cleanup, naming
...
Similar to previous commit in Eevee.
2017-11-29 11:01:08 +01:00
198c7d3687
DRW : Add new view_update mechanism.
...
This makes updates for the viewport cleaner and also add the possibility to add a new callback called when the scene is updated.
2017-09-25 20:14:42 +02:00
661f5a24d1
DwM: Show face-mask overlay even with full-shading
...
Without this face selection would be used but invisible,
display this over fully shaded surface.
2017-07-14 16:45:47 +10:00
b4988d01cb
DwM: Option to use final material over mode shading
...
Support using full material shading in sculpt & paint modes mode.
Access 'Full Shading' from the display panel when in paint modes.
2017-07-13 01:59:44 +10:00
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
1f1926e068
Fix leak with texture-paint shaders
2017-05-29 20:48:02 +10:00
51d1e204b8
Fix texture paint crash when there are no UV's
...
Missing check in own recent commits,
also only use texture-paint drawing on active object.
2017-05-29 20:17:42 +10:00
f21c235c6f
DwM: texture paint support & mask mode
...
Uses workaround so material slots are used when neither blender-internal
or cycles are enabled.
2017-05-23 17:40:48 +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
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