Commit Graph

190 Commits

Author SHA1 Message Date
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_
692ca3a577 sokol gfx bug fixing for the pass/pipeline log errors (still black screen) 2024-06-13 13:58:23 -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_
93368a40ff Changed new shapers' namespace to just ve 2024-06-06 16:19:53 -04:00
Ed_
4a931dcbe5 Setup shaders for text rendering based on VEFontCache samples 2024-06-06 16:15:57 -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
Ed_
1741532d64 Progress on VEFontCache port, working on freetype outline to stbtt shape 2024-06-03 17:43:15 -04:00
Ed_
26ad2d1e49 VEFontCache : Finished porting the LRU 2024-06-03 01:04:24 -04:00
Ed_
f99157aae5 Starting the process of porting VEFontCache 2024-06-02 17:29:44 -04:00
Ed_
33ddd420b7 Progress on porting fontstash 2024-06-02 17:29:27 -04:00
Ed_
9ba718254c lifted the hash maps and the string cache to the grime package 2024-05-31 20:51:30 -04:00
Ed_
e84ec719b3 Progress on lifting the 'grime' module to its own package 2024-05-31 19:31:27 -04:00
Ed_
d63242ac9c Some progress on fontstash 2024-05-31 19:31:08 -04:00
Ed_
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
Ed_
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
Ed_
300727198b made empty files for the projection parsers
Planning to isolate the implementation into a separate package

Eventually the UI and Font handling will also be.
2024-05-31 11:28:24 -04:00
Ed_
3998776f4b Beginning to lift the "grime" files to their own pacakge 2024-05-31 11:26:52 -04:00
Ed_
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
Ed_
64e56485fa remove .bkup of the learngl shader as its no longer needed 2024-05-30 13:18:28 -04:00
Ed_
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
Ed_
c681370d8b Just restore some code that I deleted from the raylib font provider file. 2024-05-26 13:58:55 -04:00
Ed_
5c2f55148a zpl_hmap prefix to hmap_zpl, plus some todos to go back to builtin containers 2024-05-26 13:35:08 -04:00
Ed_
469fa5f8ec Fixed hot-reload for sokol 2024-05-26 13:33:54 -04:00
Ed_
bb06d3b44e Don't poll input (we need to gut raylib's and switch over to sokol) 2024-05-26 12:24:11 -04:00
Ed_
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
Ed_
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
Ed_
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
Ed_
cf81d3f9bd Renamed str_fmt_alloc to str_fmt, str_fmt to str_fmt_out, allocator convention enforcement in context
I'm enforcing aprintf it as the default formatter.
I changed up the context allocator assignment to reflect how I've been intending to allocation in startup & platform events vs tick.
Tick uses the frame slab's by default with transient on temp. Startup & platform events use the transient by default & for temp, with any use of the persistent allocator being explicit.
2024-05-22 17:13:56 -04:00
Ed_
368abefccf Restored some of the window awareness previously avail in raylib for the new sokol layer.
Switched frametime_delta32 to frametime_avg_ms.

I'll problably rename it and keept delta32 for actual delta. Reading over the sokol_app code I noticed it uses the avg frametime and definitely want to do that for spike alleviation...
2024-05-22 15:39:19 -04:00
Ed_
8130faa6ad got the sokol_app library starting up and ticking!
Now I just need to get the events and rendering and fonts and... all hooked up
2024-05-22 03:44:14 -04:00
Ed_
9cd0692e56 Got it to compile with sokol changes (UNTESTED) 2024-05-22 03:28:22 -04:00
Ed_
405716e52b Mostly reviewing progress so far
Prepping in the background for swapping raylib with sokol.
2024-05-21 23:35:36 -04:00
Ed_
31bc207c75 Fixed the layout boxes & resize handles anchors & alignemnts 2024-05-21 11:50:53 -04:00
Ed_
17859a5eb9 Hopefully last design change to auto-layout algorithim
I'm sticking with not supporting the top-left alignment for default and instead going with bottom left.
This allows for 0,0 alignment to the "bottom left pivot" for a box and 1,1 to the "top-right pivot" of a box.
These naturally coincide with where the actual min-max points that define the box are for the coodrindate convention I decided to go with. I'll write docs to migitate confusion.

Now I just need to fix the layout presets I have for the currently existing constructions...
2024-05-21 11:06:51 -04:00
Ed_
e5be246d30 Cleanup and setup of drop down widget
Got an initial variant of the drop down widget, not completely set on it..
I put some more time to figuring out how I'm going to be ideomatically constructing the widgets. screen.odin I think its getting pretty close to what it will be like.
I'm ready to start lifting the input box. I'll be adding the constraints when I lift it.

Added the option to toggle the debug text in screenspace
Added the fixes from the ui_layout_children_horizontally for margins to ui_layout_children_vertically

Known issue:
There is a bug with test_whitespace that forced me todo a null check on a box. Not sure why.
It needs to be redone anyway.. (compose it with the h/vboxes instead)

There is some sublime files added in, started to use it.
2024-05-20 22:05:52 -04:00
Ed_
cdfc3d65bb Added sokol library to thirdparty
Going to get sokol_gp soonish
Need to look into figuring out text rendering...

I'm preemtively getting this stuff now but I problably won't be swapping raylib impl anytime soon.
2024-05-19 14:04:54 -04:00
Ed_
275ffcf143 Got the first 'input box' to work. Did some changes to keyboard input
Renamed KeyboardKey to KeyCode, redid the encoding layout (preemtively getting ready for SDL later as well)

I got the input box working but it has no constraints and needs to be lifted. The scroll box construction does as well.
2024-05-19 11:06:09 -04:00