Updates to readmes

This commit is contained in:
2024-07-01 12:23:55 -04:00
parent 10f1f7655c
commit f02a5c0783
2 changed files with 47 additions and 7 deletions

View File

@@ -6,10 +6,18 @@ Its original purpose was for use in game engines, however its rendeirng quality
See: [docs/Readme.md](docs/Readme.md) for the library's interface See: [docs/Readme.md](docs/Readme.md) for the library's interface
## Building
See [scripts/Readme.md](scripts/Readme.md) for building examples or utilizing the provided backends.
Currently the scripts provided & the library itself where developed & tested on Windows. The library itself should not be limited to that OS platform however, just don't have the configuration setup for alternative platforms (yet).
The library depends on freetype, harfbuzz, & stb_truetype currently to build.
Note: freetype and harfbuzz could technically be gutted if the user removes their definitions, however they have not been made into a conditional compilation option (yet).
## Changes from orignal ## Changes from orignal
* Font Parser & Glyph shaper are abstracted to their own interface * Font Parser & Glyph shaper are abstracted to their own interface
* Font face parser info encapsulated in parser_info struct.
* ve_fontcache_loadfile not ported (ust use core:os or os2, then call load_font) * ve_fontcache_loadfile not ported (ust use core:os or os2, then call load_font)
* Macro defines have been coverted (mostly) to runtime parameters * Macro defines have been coverted (mostly) to runtime parameters
* Support for hot_reloading * Support for hot_reloading
@@ -17,10 +25,6 @@ See: [docs/Readme.md](docs/Readme.md) for the library's interface
## TODOs ## TODOs
### Thirdparty support:
* Setup freetype, harfbuzz, depedency management within the library
### Documentation: ### Documentation:
* Pureref outline of draw_text exectuion * Pureref outline of draw_text exectuion
@@ -29,13 +33,13 @@ See: [docs/Readme.md](docs/Readme.md) for the library's interface
### Content: ### Content:
* Port over the original demo utilizing sokol libraries instead * Port over the original demo utilizing sokol libraries instead
* Provide a sokol_gfx backend package
* Provide alternative build scripts
### Additional Features: ### Additional Features:
* Support for freetype (WIP, Untested) * Support for freetype (WIP, Untested)
* Support for harfbuzz (WIP, Untested) * Support for harfbuzz (WIP, Untested)
* Add ability to conditionally compile dependencies (so that the user may not need to resolve those packages).
* Related to usage of //+build tags?
* Ability to set a draw transform, viewport and projection * Ability to set a draw transform, viewport and projection
* By default the library's position is in unsigned normalized render space * By default the library's position is in unsigned normalized render space
* Could implement a similar design to sokol_gp's interface * Could implement a similar design to sokol_gp's interface

36
scripts/Readme.md Normal file
View File

@@ -0,0 +1,36 @@
# Scripts
All scripts provided for utilizing the example demos or backends.
## General
### build_sokol_demo.ps1
Builds example's sokol_demo.odin. Will gather necessary dependencies first.
### build_sokol_library.ps1
Helper script used by `build_sokol_demo.ps1`. Build's & modifies the library for its use in the examples.
### clean.ps1
Will wipe the build folder.
### compile_sokol_shaders.ps1
Will generate the odin files containing the sokol shader descriptions for the corresponding glsl shaders. Utilized by the sokol backend. Doesn't need to be runned unless modifications are made to the shaders (pre-generated files are commited to this repository).
## Helpers
### devshell.ps1
Will run `Launch-VsDevShell.ps1` for the user to populate the shell with its enviornmental definitions
### misc.ps1
A few helper functions to utilize powerhsell & github repos as package management.
### odin_compiler_defs.ps1
Just variable declarations based on flags used with the odin compiler's CLI.