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
dee8fc7ef9
layer text rendering is working!
2024-06-23 21:32:00 -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
c405c47e6c
mem tracker updates
2024-06-20 15:36:47 -04:00
489faf5515
Misc changes (refactors, notes)
2024-06-20 14:39:50 -04:00
5d6f996d3c
Finished fixing input back to prev-sokol feature parity
2024-06-19 18:09:11 -04:00
6f4a5e215c
prevent hot reload failure from lack of transient backing
2024-06-19 05:51:34 -04:00
bcbbf95471
add support for fixed_size option to make_queue
2024-06-19 05:51:13 -04:00
10f58b432e
truncate log files on init
2024-06-19 05:50:40 -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
4b8c4d0c2c
Updated render testing str
2024-06-18 17:56:34 -04:00
05ecad8f56
sokol gp rectangle demo works!
2024-06-18 17:24:07 -04:00
d2d55b210c
Setup initial readme for VEFontCache
2024-06-18 11:24:54 -04:00
156ddcef97
Removing fontstash and RFont from codebase
...
Planning to instead just focus on using VEFontCache.
2024-06-18 11:18:33 -04:00
d6cd65288f
remove input_raylib.odin
2024-06-18 10:22:34 -04:00
b698f5166b
Base input pass updated for sokol possibly done (untested)
...
Still need to figure out input event consumption, I don't want to do it with the event ring.
I would like to setup input binding layers and then have the push/pop input contextes with a set of bindings.
If the bindings are detected it should "consume" that binding from further use for the buffered time period.
This will be really important with how heavily model this app will be.I
2024-06-18 01:33:50 -04:00
425a642fd3
Started to setup input events based off sokol
...
Will replace the input polling done with raylib.
Going to also provide the more robust input tracking for consuming events with the UI interactions
2024-06-17 03:35:53 -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
000d46cd73
misc fixes, trying to get parity optimizatin to original VEFontCache
...
still not getting the pass reduction to be equivalent...
2024-06-16 08:57:06 -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
569ce5ce99
still diagnosing...
2024-06-15 02:08:29 -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
692ca3a577
sokol gfx bug fixing for the pass/pipeline log errors (still black screen)
2024-06-13 13:58:23 -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
93368a40ff
Changed new shapers' namespace to just ve
2024-06-06 16:19:53 -04:00
4a931dcbe5
Setup shaders for text rendering based on VEFontCache samples
2024-06-06 16:15:57 -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