Commit graph

16 commits

Author SHA1 Message Date
Lephenixnoir 2f185a36d7
azrp: first version of text shader (slow!), based on topti-cg 2023-06-12 20:39:43 +02:00
Lephenixnoir 2e7c076e60
azrp: add rectangle shader (azrp_rect): flat, invert, darken, whiten
Flat is optimized but invert, darken and whiten are not.
2023-05-31 23:29:26 +02:00
Lephenixnoir fe4b339327
azrp: configure shaders automatically 2023-05-29 12:49:29 +02:00
Lephenixnoir f3bd29fb32
azrp: allow any point order in triangle shader 2023-05-29 09:50:06 +02:00
Lephenixnoir e86a95f6d6
azrp: update image shader to use dwindow settings 2022-11-19 17:47:21 +01:00
Lephenixnoir 8448467cd4
azrp: bump command limit to 1024
It used to be 256 due to XYRAM limits but it's easy to hit.
2022-08-20 20:54:52 +02:00
Lephenixnoir 8badb9f9cc
azrp: add very basic triangle shader 2022-08-20 11:49:21 +02: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 c16b1a85c6
azur: implement support for P4_RGB565A (P4) 2022-05-27 20:55:44 +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 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