Commit Graph

58 Commits

Author SHA1 Message Date
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 156ddcef97 Removing fontstash and RFont from codebase
Planning to instead just focus on using VEFontCache.
2024-06-18 11:18:33 -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
ed 87bc31636e lots of corrections to VEFontCache, still no letters on screen
Something is either wrong with the sokol_gfx rendering setup or its a really dumb checkbox/uv value
2024-06-14 17:00:06 -04:00
ed 3b9e08794a More progress toward VEFontCache rendering
Based off of render doc, most likely down to UV issues for where on the glyph buffer the shape is located
2024-06-14 03:13:47 -04:00
ed bcb684e140 Renders to glyph and I think the atlas targets (but not the screen) 2024-06-13 20:44:10 -04:00
ed 7ec00edfbd render doc nows shows the lettter... 2024-06-13 19:44:55 -04:00
ed 3402701f99 fix bug with outside bunds calc for VEFontCache.cache_glyph 2024-06-13 18:35:32 -04:00
ed 314582b225 Changes while attempting to debug 2024-06-13 18:25:11 -04:00
ed 5bd6519b6a Bugfixing the runtime (rendering not working yet) 2024-06-11 22:20:30 -04:00
ed 82e7482c85 Finished first draft for VEFontCache font provider hookup for sokol_gfx (untested) 2024-06-09 21:39:49 -04:00
ed a81019d2a5 Decided against the mapping of parser and shaper infos
Parser and shaper should just be intrusive to w/e uses them adding a map directions slows things down for no reason..
2024-06-06 10:19:20 -04:00
ed 71e8fadcab VEFontCache: Initial hookup to sectr module & runtime bugfixes 2024-06-06 01:07:23 -04:00
ed 38be79d7a9 VEFontCache: runtime bugfixes 2024-06-06 00:43:18 -04:00
ed 566a90001b Finished draft porting pass for VE Font Cache (next is hook to sokol_gfx + runtime testing) 2024-06-05 19:52:25 -04:00
ed d469fd53e8 progress on VEFontCache port 2024-06-05 13:27:34 -04:00
ed 991e7a81c0 Progress on VEFontCache port, only cache_glyph_to_atlas & shape_text_uncached left 2024-06-04 18:44:12 -04:00
ed 26e53bf327 VEFC: ported decide_codepoint_region 2024-06-04 13:30:30 -04:00
ed 38ebed8874 VEFC: Added bad edge case to handle parsing conic curves, progess on cache_glyph 2024-06-03 21:08:12 -04:00
ed c182ab7173 An attempt at doing a freetype outline to the stbtt shape verts 2024-06-03 19:37:09 -04:00