From f02a5c0783109bd0513a45d0adaa103f559fe418 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 1 Jul 2024 12:23:55 -0400 Subject: [PATCH] Updates to readmes --- Readme.md | 18 +++++++++++------- scripts/Readme.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 scripts/Readme.md diff --git a/Readme.md b/Readme.md index f1d29b2..ca1b76d 100644 --- a/Readme.md +++ b/Readme.md @@ -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 +## 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 * 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) * Macro defines have been coverted (mostly) to runtime parameters * Support for hot_reloading @@ -17,10 +25,6 @@ See: [docs/Readme.md](docs/Readme.md) for the library's interface ## TODOs -### Thirdparty support: - -* Setup freetype, harfbuzz, depedency management within the library - ### Documentation: * Pureref outline of draw_text exectuion @@ -29,13 +33,13 @@ See: [docs/Readme.md](docs/Readme.md) for the library's interface ### Content: * Port over the original demo utilizing sokol libraries instead -* Provide a sokol_gfx backend package -* Provide alternative build scripts ### Additional Features: * Support for freetype (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 * By default the library's position is in unsigned normalized render space * Could implement a similar design to sokol_gp's interface diff --git a/scripts/Readme.md b/scripts/Readme.md new file mode 100644 index 0000000..5775efc --- /dev/null +++ b/scripts/Readme.md @@ -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.