diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-03-31 20:32:28 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-03-31 20:43:22 +0300 |
commit | c77870fc78f594411c9831ee77eba2167a702fd7 (patch) | |
tree | 8ca99ec3f8745f2b3c4cd1f8e85df8e550ae5534 /source/blender/editors/include/UI_interface_icons.h | |
parent | 4dc0c923fb7f5c9c6f36ce0a63c1d19f241befa2 (diff) |
UI: Perf: Batch icons drawcalls together.
For this we use a new shader that gets it's data from a uniform array.
Vertex shader position the vertices using these data.
Using glUniform is way faster than using imm for that matter.
Like BLF rendering, UI icons are always (as far as I know) non occluded and
displayed above everything else. They also does not overlap with texts so
they can be batched at the same time.
Diffstat (limited to 'source/blender/editors/include/UI_interface_icons.h')
-rw-r--r-- | source/blender/editors/include/UI_interface_icons.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/include/UI_interface_icons.h b/source/blender/editors/include/UI_interface_icons.h index cee68ed361c..8b436942fdd 100644 --- a/source/blender/editors/include/UI_interface_icons.h +++ b/source/blender/editors/include/UI_interface_icons.h @@ -77,6 +77,9 @@ void UI_icon_draw_size(float x, float y, int size, int icon_id, float alpha); void UI_icons_free(void); void UI_icons_free_drawinfo(void *drawinfo); +void UI_icon_draw_cache_begin(void); +void UI_icon_draw_cache_end(void); + struct ListBase *UI_iconfile_list(void); int UI_iconfile_get_index(const char *filename); |