Commit Graph

66 Commits

Author SHA1 Message Date
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
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