597c88c6b7
Misc + made a more controlled digital zoom
...
Trying to get digital zoom to closer target levels that would match specific even font sizes
Various other changes from iterating on VEFontCache
2024-06-29 22:36:22 -04:00
93e43c2b19
Updates for getting get_font_vertical_metrics, + other cleanup
2024-06-28 17:39:28 -04:00
12741a228d
mostly formatting/name changes and other misc stuff
2024-06-28 03:27:25 -04:00
e6ccdd90d1
changes to sectr module based on VEFontCache changes
2024-06-26 15:23:44 -04:00
9d0cc125a9
Misc changes
...
* Made refactor rende procedures to specify dependencies instead of directly grabbing from state singleton
2024-06-26 06:03:00 -04:00
1533a14a1b
misc changes
...
* draw_text_string_pos_extent_zoomed can now oversample text futher (if desired)
* render_ui_via_box_tree has a rudimentary render pass layering optimization
Add support for the slab allocator to accept arbitrary alignments (odin's map container needs it)
Messing around with 64-byte alignment as the default for the allocator...
2024-06-25 19:13:41 -04:00
1fe741034d
wip : trying to fix the workspace view bounds detection
2024-06-25 02:38:08 -04:00
894c3fee97
Fix hot-reload
2024-06-24 23:38:53 -04:00
6f722026ce
Text rendering is now around parity (if not better) than what was done before with raylib
...
Performance still sucks since the rendering implementation is subpar
2024-06-24 23:19:08 -04:00
c93c0ed567
Minor lifting in the render side, getting ready to just hunker down and take notes on whats next
...
* VEFontCache needs to get fixed up (possibly bring back ELFHash)
* Problably going to do conversion early to odin's array and map usage
* Need get the quad tree setup for the ui so that I can do fast and efficient traversal for the layer based rendering.
2024-06-24 16:36:22 -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
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
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
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
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
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
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
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
82e7482c85
Finished first draft for VEFontCache font provider hookup for sokol_gfx (untested)
2024-06-09 21:39:49 -04:00
38be79d7a9
VEFontCache: runtime bugfixes
2024-06-06 00:43:18 -04:00
33ddd420b7
Progress on porting fontstash
2024-06-02 17:29:27 -04:00
9ba718254c
lifted the hash maps and the string cache to the grime package
2024-05-31 20:51:30 -04:00
f415eada0d
Doing some heavy refactors on the container interfaces
...
Trying to set up their use to be more ideomatic to the core containers
2024-05-31 17:58:18 -04:00
3998776f4b
Beginning to lift the "grime" files to their own pacakge
2024-05-31 11:26:52 -04:00
0b74a8115e
Minor cleanup to current bad impl of font rendering
...
Just trying to really "get" sokol_gfx.h
2024-05-31 11:25:27 -04:00
936c0100ba
Got text rendering to work with sokol_gfx (learngl text rendering article #1 )
...
Need to todo the altas article next then the optimizing vod
2024-05-30 13:06:51 -04:00
5c2f55148a
zpl_hmap prefix to hmap_zpl, plus some todos to go back to builtin containers
2024-05-26 13:35:08 -04:00
469fa5f8ec
Fixed hot-reload for sokol
2024-05-26 13:33:54 -04:00
bb06d3b44e
Don't poll input (we need to gut raylib's and switch over to sokol)
2024-05-26 12:24:11 -04:00
0d2c5e478b
Don't reload font_provider_data's cache (since we don't have that swapped yet)
2024-05-26 12:23:50 -04:00
797ab227e9
Gut raylib usage from the codebase.
...
Going to either fully commit to sokol or if it fails, rolling the platform layer myself.
2024-05-25 11:52:23 -04:00
13c3032dba
Initial setup of sokol_gfx to replace the raylib impl for rendering.
...
Next I need to setup sokol_gp
2024-05-24 16:31:22 -04:00