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
b5f9687927
Various improvements to VEFontCache's font rendering
2024-06-25 14:28:59 -04:00
1f4d07727e
minor reorganization
2024-06-25 02:37:18 -04:00
894c3fee97
Fix hot-reload
2024-06-24 23:38:53 -04:00
321bbfd772
Fix for VEFontCache: measure_text_size & shape_text_cached
2024-06-24 23:17:18 -04:00
838e37e58d
Fixed crash with VEFontCache.can_batch_glyph
2024-06-24 23:16:24 -04:00
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
7d41fcc335
wip : trying to get layered text rendering working
2024-06-23 20:22:36 -04:00
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
ce1d31f0d4
Progress on fleshing out rendering (Getting ui ready to render in "layer batches")
2024-06-23 02:47:13 -04:00
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
a560222d5d
Fixed a long-standing issue with the chained hashmap (finally)
2024-06-21 00:26:29 -04:00
489faf5515
Misc changes (refactors, notes)
2024-06-20 14:39:50 -04:00
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
d2d55b210c
Setup initial readme for VEFontCache
2024-06-18 11:24:54 -04:00
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
b1927a8461
optimize_draw_list now produces parity optimization to original
2024-06-16 10:27:58 -04:00
9cc5d85b01
fix for draw optimization
2024-06-16 08:56:24 -04:00
964c6c852d
Fixes to shape cache and atlas region math
2024-06-16 08:56:06 -04:00
fd3bb65aaf
fixes to LRU font cache
2024-06-16 08:54:37 -04:00
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
13f24b4ae9
More fixes, more letters
2024-06-15 08:20:58 -04:00
5f09c22f11
Finally got a letter on the screen with the VEFontCache port
2024-06-15 04:29:10 -04:00
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
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
bcb684e140
Renders to glyph and I think the atlas targets (but not the screen)
2024-06-13 20:44:10 -04:00
7ec00edfbd
render doc nows shows the lettter...
2024-06-13 19:44:55 -04:00
3402701f99
fix bug with outside bunds calc for VEFontCache.cache_glyph
2024-06-13 18:35:32 -04:00
314582b225
Changes while attempting to debug
2024-06-13 18:25:11 -04:00
5bd6519b6a
Bugfixing the runtime (rendering not working yet)
2024-06-11 22:20:30 -04:00
82e7482c85
Finished first draft for VEFontCache font provider hookup for sokol_gfx (untested)
2024-06-09 21:39:49 -04:00
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
71e8fadcab
VEFontCache: Initial hookup to sectr module & runtime bugfixes
2024-06-06 01:07:23 -04:00
38be79d7a9
VEFontCache: runtime bugfixes
2024-06-06 00:43:18 -04:00
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
d469fd53e8
progress on VEFontCache port
2024-06-05 13:27:34 -04:00
991e7a81c0
Progress on VEFontCache port, only cache_glyph_to_atlas & shape_text_uncached left
2024-06-04 18:44:12 -04:00
26e53bf327
VEFC: ported decide_codepoint_region
2024-06-04 13:30:30 -04:00
38ebed8874
VEFC: Added bad edge case to handle parsing conic curves, progess on cache_glyph
2024-06-03 21:08:12 -04:00
c182ab7173
An attempt at doing a freetype outline to the stbtt shape verts
2024-06-03 19:37:09 -04:00
1741532d64
Progress on VEFontCache port, working on freetype outline to stbtt shape
2024-06-03 17:43:15 -04:00
26ad2d1e49
VEFontCache : Finished porting the LRU
2024-06-03 01:04:24 -04:00
f99157aae5
Starting the process of porting VEFontCache
2024-06-02 17:29:44 -04:00
3db403017e
Lifted fontstash to its own package, made packages for RFont and VEFontCache
...
Going to do fonstash first then rfont ports.
After will complete the VEFontCache port
2024-05-31 13:04:52 -04:00