Commit Graph

71 Commits

Author SHA1 Message Date
ed 72eb3a1b3b readme fix 2024-06-29 22:51:56 -04:00
ed a9ddd7668f VEFontCache: Various changes to field types, increased shape cache default capacity 2024-06-29 22:34:37 -04:00
ed a666300f41 VEFontCache: Remove draw_cached_glyph, formatting
No longer needed as draw_text_batched handles it
2024-06-29 20:33:07 -04:00
ed 93e43c2b19 Updates for getting get_font_vertical_metrics, + other cleanup 2024-06-28 17:39:28 -04:00
ed cdf0f3e3bd typo 2024-06-28 07:51:47 -04:00
ed a28303bad6 Added manual simd but odins already doing it perfectly (+ ohter attempted optimizations) 2024-06-28 07:31:51 -04:00
ed b8665d0bc2 wrining draw_text_batch
Gotta juice it out
2024-06-28 06:26:21 -04:00
ed bb52139e17 2 ms improvement from lru optimizations 2024-06-28 06:08:03 -04:00
ed ce2a837bb6 got rid fo the shape draw_list caching code 2024-06-28 06:04:04 -04:00
ed 3b5cc3cc80 Some minor performance improvments, draw_list caching for shapes failed. 2024-06-28 05:29:53 -04:00
ed 43415446b0 VEFontCache: look into to trying to cache the draw_list for a shape
plus other misc changes
2024-06-28 03:26:55 -04:00
ed d437e95efb misc changes to ve font cache after starting to make the standalone repo 2024-06-27 00:00:07 -04:00
ed c94be49714 making VEFontCache less dependent on grime pkg (getting it ready to be standalone) 2024-06-26 23:37:29 -04:00
ed e6147caf41 small update 2024-06-26 23:28:08 -04:00
ed 063cf6b45c license 2024-06-26 23:26:42 -04:00
ed f08b04e901 last cleanup before docs 2024-06-26 22:51:04 -04:00
ed 1e7650970b compile fixes 2024-06-26 21:51:33 -04:00
ed fc59f948f5 moved catch_batch_glyph to draw file 2024-06-26 21:40:45 -04:00
ed 86d6adc931 Set glyph_padding to 4 (when using 8x8 over_sample we need more padding) 2024-06-26 17:02:15 -04:00
ed 470197cb6c Advance_Snap_Smallfont_Size to 0 by default, removed position rounding in shape_text_uncached
Need to eventually make the rounding an option
2024-06-26 15:23:02 -04:00
ed 8e8f25ba50 VEFontCache: Lifted the GlyphDrawBuffer member of atlas to the context 2024-06-26 15:15:03 -04:00
ed 343d558a94 Clean up of last remaining vestitudes of using my containers in VEFontCache 2024-06-26 13:28:54 -04:00
ed 413f544e9c VEFontCache: Codepath simplificiation & optimization 2024-06-26 06:01:06 -04:00
ed 6f034534f3 VEFontCache: Should be using odin arrays and maps excluisvely now for the package 2024-06-25 23:53:44 -04:00
ed 268ba29ec6 minor pref improvements, started to convert to using odin's arrays (in VEFontCache) (last commit bad) 2024-06-25 19:11:31 -04:00
ed c567d48a4c minor pref improvements, started to convert to using odin's arrays (in VEFontCache) (last commit bad) 2024-06-25 19:11:10 -04:00
ed 00587a226b minor pref improvements, started to convert to using odin's arrays 2024-06-25 19:09:53 -04:00
ed 6fac2a97ff Swapped LRU and temp_codepoint_seen to use odin's vendor hash map
Starting to get serious about profiling this procedure and optimizing performance.
I also want to make it more ideomatic now...
2024-06-25 17:10:18 -04:00
ed b5f9687927 Various improvements to VEFontCache's font rendering 2024-06-25 14:28:59 -04:00
ed 1f4d07727e minor reorganization 2024-06-25 02:37:18 -04:00
ed 894c3fee97 Fix hot-reload 2024-06-24 23:38:53 -04:00
ed 321bbfd772 Fix for VEFontCache: measure_text_size & shape_text_cached 2024-06-24 23:17:18 -04:00
ed 838e37e58d Fixed crash with VEFontCache.can_batch_glyph 2024-06-24 23:16:24 -04:00
ed 0d9623c340 layer text rendering works, ui has issues, there is perf problems
* Added todos for VEFontCache
* Going be remaking the direct box traversal rendering again, I'll keep both layer based and it as a option to switch between
* Need to implement a quad tree for the ui boxes to help with collision test traversal
2024-06-24 11:29:44 -04:00
ed 7d41fcc335 wip : trying to get layered text rendering working 2024-06-23 20:22:36 -04:00
ed 55b80da8e5 Fixed input event buffer issues
Queue doesn't properly act as a ring buffer had to roll my own.
I want to make a allocated ring buffer as well...
2024-06-23 13:59:04 -04:00
ed ce1d31f0d4 Progress on fleshing out rendering (Getting ui ready to render in "layer batches") 2024-06-23 02:47:13 -04:00
ed 2b83b69745 Converted string cache table to use HMapChained, initial impl for ui_box_traverse_next_layer_based 2024-06-21 16:33:15 -04:00
ed a560222d5d Fixed a long-standing issue with the chained hashmap (finally) 2024-06-21 00:26:29 -04:00
ed 489faf5515 Misc changes (refactors, notes) 2024-06-20 14:39:50 -04:00
ed 59ed4d9dd6 fix hot-reload, starting to setup proper rendering again.
* Added hot_reload, measure_text_size to VEFontCache
2024-06-19 02:34:02 -04:00
ed d2d55b210c Setup initial readme for VEFontCache 2024-06-18 11:24:54 -04:00
ed 05ffaf432d VEFontCache: got rid of elf hash using a "label" hash borrowed from the rad debugger
There was an issue with uniqueness so I just decided to scrap it (no need to keep parity with the original there...)
2024-06-17 01:24:03 -04:00
ed b1927a8461 optimize_draw_list now produces parity optimization to original 2024-06-16 10:27:58 -04:00
ed 9cc5d85b01 fix for draw optimization 2024-06-16 08:56:24 -04:00
ed 964c6c852d Fixes to shape cache and atlas region math 2024-06-16 08:56:06 -04:00
ed fd3bb65aaf fixes to LRU font cache 2024-06-16 08:54:37 -04:00
ed 65be3eae03 More bug fixing, All latin characters don't look corrupt anymore
HMapChained causes memory corruption in VEFontCache (not sure why yet), so I switched temporarily over to HMapZPL.

Fixed bug with parser_get_glyph_shape from me tracking vertices as u16s instead of i16s.

Currently a bug with the frametime example:
text_test_str := str_fmt("frametime: %0.2f", frametime_avg_ms)

It doesn't handle per-frame updates properly compared to C++ source
2024-06-15 14:53:26 -04:00
ed 13f24b4ae9 More fixes, more letters 2024-06-15 08:20:58 -04:00
ed 5f09c22f11 Finally got a letter on the screen with the VEFontCache port 2024-06-15 04:29:10 -04:00