Commit Graph

25 Commits

Author SHA1 Message Date
Lephenixnoir e2e73c4934
meta: updated build system with gint install, README 2022-06-02 21:18:58 +01:00
Lephenixnoir bf5db2a0f0
libnum: initial commit 2022-06-02 21:18:28 +01:00
Lephenixnoir b0ca2a87a5
meta: pull dependencies 2022-05-28 12:44:14 +01:00
Lephe e63b1eb3c4
azur: update to new gint 2.8 image format 2022-05-27 20:55:45 +01:00
Lephe 8ac9ac747a
azur: image shader with dynamic effects, and 16-row fragment 2022-05-27 20:55:44 +01:00
Lephe e124719de3
azur: share command data between fragments (with updates) 2022-05-27 20:55:44 +01:00
Lephe 911cc8e5ac
azur: documentation and optimization on rendering 2022-05-27 20:55:44 +01:00
Lephe c5cdb2b885
azur: rename tex2d shader to image 2022-05-27 20:55:44 +01:00
Lephe 52a66402aa
azur: bugfixes and support for P4_RGB565 (3.5 c/p) 2022-05-27 20:55:44 +01:00
Lephe c16b1a85c6
azur: implement support for P4_RGB565A (P4) 2022-05-27 20:55:44 +01:00
Lephe ddff9f6d6b
azur: replace P8 with P8_RGB565A (4.5 c/p), P8_RGB565 (3 c/p)
The code for P8 failed in some non-transparent cases and I'll admit I
could not be bothered to fix it when the superiors formats were already
designed and promised a significant boost.
2022-05-27 20:55:44 +01:00
Lephe 18ee037693
azur: support for P8 in tex2d (5.5 cycles/pixel) 2022-05-27 20:55:44 +01:00
Lephe e10f8fabac
azur: filter out internal events used to wake up the main loop 2022-05-27 20:55:44 +01:00
Lephe 0d96c46613
meta: use the docking branch of ImGui 2022-05-27 20:55:43 +01:00
Lephe 5d65459c41
meta: update ImGui, make GL3W as external module 2022-05-27 20:55:34 +01:00
Lephe 0c8efcd635
azur: RGB565A in tex2d (still 4c/p) 2022-05-27 20:55:33 +01:00
Lephe 0fec6da1c4
azur: progress on tex2d as bopti, custom command sorter 2022-05-27 20:55:33 +01:00
Lephe 33e6a44578
azur: add shader uniforms, clear shader, super-scaling 2022-05-27 20:55:33 +01:00
Lephe 0005249f71
azur: implement all parity cases of the tex2d shader 2022-05-27 20:55:33 +01:00
Lephe 507fee11e3
azur: (minor) 2022-05-27 20:55:33 +01:00
Lephe 028d927b6d
meta: add GLM as a submodule 2022-05-27 20:55:33 +01:00
Lephe 31da1c0998
meta: build system for Dear ImGui + GL3W + FreeType2
* Add build instructions for Dear ImGui that build the SDL +
  OpenGL 3 / OpenGL ES 2 backend.
* Use Dear ImGui's bundled GL3W as a loader (including in azur itself,
  which has not been using a loader until now).
* Properly select headers for OpenGL ES 2.0 (with the VAO extension) and
  attributes for WebGL; clear up OpenGL 4 error codes.
* If FreeType2 is available through pkg-config, or if empscripten is
  used (since it has a FreeType port), use FreeType to render fonts in
  Dear ImGui for much-appreciated hinting quality.

Minor changes:
* Add window title to azur_init().
* Use emscripten's infinite loop simulation to make sure everything
  stays in the same thread. This is needed for Dear ImGui to work.
2022-05-27 20:55:24 +01:00
Lephe bd081b03a2
meta: add ImGui as a submodule 2022-05-27 20:55:21 +01:00
Lephe bbc431e137
meta: top-level build system
Mostly sets settings for azur (the engine) and loads backend libraries.
2022-05-27 20:55:19 +01:00
Lephe 3a3f607303 azur: basic gint/SDL/emscripten setup with rendering
This basic model supports a couple of options, but mostly designed for
three targets:

* gint on fx-CG 50, with a custom XRAM-streaming rendering engine that
  is (to my knowledge) more powerful than all other existing options;

* The standard SDL/OpenGL combo for desktop platforms, using modern
  OpenGL 3.3 and some basic shaders.

* The web platform with emscripten and its OpenGL ES 2.0 API that maps
  to WebGL 1.0. OpenGL ES 2.0 code could also be used for mobile
  platforms if this ever comes up.

The current code only includes setting up the program's main loop
(update/render) as well as basic rendering.

The framework of gint's rendering engine is drawn ("shader"-based
rendering in XRAM). On the OpenGL side, some utilities are defined,
including a primitive layer of shader code compatibility for OpenGL 3.3
vs. OpenGL ES 2.0. Actual rendering is still at prototype stage.
2021-07-04 14:46:36 +02:00