4ff8d8ff07
Update Font.cpp
...
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m33s
fix memleak
Prerelease-24
2024-07-17 16:52:31 -04:00
162732e4b7
Fix Dereference
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m24s
2024-07-17 16:11:36 -04:00
289157ab8a
Fiddle with README some
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 2m37s
2024-07-17 15:54:39 -04:00
3a658b1096
Testing MeasureString with underlaid box. But it appears to be offset by half-height?
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 4m39s
2024-07-17 15:19:38 -04:00
480502f89e
Implement Font::MeasureString (TODO: double check!!)
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m53s
2024-07-17 14:59:34 -04:00
d28f680cd0
Half-baked Font class implementation
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m29s
Fonts-Pre
2024-07-16 14:54:47 -04:00
2d1e42c23b
Half-ass Font class implementation
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m30s
2024-07-16 14:39:44 -04:00
abd691b648
uhhhhhhhhhh yeeeeeeea
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m28s
2024-07-16 14:19:39 -04:00
e261b610c2
Update TextRendering.cpp
...
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 5m24s
Reset the Texture after drawing text.
Prerelease-23
2024-07-15 11:50:27 -04:00
8625c52ee9
Implement optimizations for 2D text rendering ( #23 )
...
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m51s
The following patches are included:
## J2D: Rewrite text rendering
This patch rewrites text rendering for `J2D::DrawString` to now construct
a texture atlas for all ASCII-range glyphs in the FT font face, instead
of constructing a texture for every glyph.
This improves text rendering performance for several reasons:
1. Binding textures is relatively expensive as the GPU is required to do
a context switch for internal data like texture parameters, and also
cannot optimize for accesses to the same texture across draw calls.
This patch removes the need to call `glBindTexture` more than once per
call to `J2D::DrawString`.
2. As a consequence of the above, all glyphs for a given string can now
be rendered in a single call to `glDrawArrays`. This is done by storing
the cached texture coordinates on `CachedGlyph` and constructing a full
array of vertices and texture coordinates for the entire string at
once, resulting in only /one/ set of client-to-device attribute
uploads and only one draw call, instead of being required to upload
attribute data for each glyph separately.
## FontCache: Use map for efficient glyph lookup
This patch updates `CachedFont` to now use an `std::map` for cached glyphs,
instead of an `std::vector`. `std::map` allows O(log n) lookup, whereas
`std::vector` only allows O(n) lookup.
Note: `std::unordered_map` technically has better lookup complexity here,
with amortized O(1) lookup. However, hashmaps have a higher inherent
overhead than red-black trees so this would only be viable when going
above around 1000 entries, which should never happen here for ASCII
glyphs.
Co-authored-by: Ori Sky Farrell <ori.sky.farrell+git@gmail.com >
Reviewed-on: #23
Co-authored-by: ori_sky <redacted@ori.mx >
Co-committed-by: ori_sky <redacted@ori.mx >
2024-07-15 11:38:20 -04:00
74a4705e44
Fix windows being picky.
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m28s
Prerelease-22
2024-07-12 13:14:24 -04:00
ae327b96a5
Cleanup
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 2m23s
2024-07-12 01:47:49 -04:00
eb3e037c96
Gradient FillRect + GradientLine
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m31s
Prerelease-21
2024-07-10 20:00:49 -04:00
672a363c53
Fluff the README a little.
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m30s
2024-07-10 15:17:37 -04:00
6a16c3f87e
Update main.cpp
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m31s
2024-07-10 15:05:21 -04:00
23d3d1f378
Implement stub documentation & small refactors on J2D namespace
Run ReCI Build Test / Explore-Gitea-Actions (push) Has been cancelled
2024-07-10 15:05:46 -04:00
523806f9ef
Rounded Fill Rect
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m49s
2024-07-10 14:49:37 -04:00
d118ae2f8e
Accept Color3 & Color4
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 6m0s
2024-07-09 15:10:26 -04:00
5979ae41fc
Performance optimization
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 2m41s
2024-07-08 23:13:45 -04:00
652626b2e4
text
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m20s
Prerelease-19
2024-07-08 19:12:16 -04:00
a8145cb926
Update JGL.cpp
...
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m22s
Setting glLineWidth inside of glBegin causes error 1282.
Prerelease-18
2024-07-07 19:59:10 -04:00
0914b496e7
Refactor & Fix inverted text & More
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m37s
2024-07-07 17:10:51 -04:00
c62b58aa16
Font cache
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m34s
Prerelease-17
2024-07-06 22:51:25 -04:00
11ce9ac5fe
ReCI test
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m18s
2024-07-05 11:44:34 -04:00
7310825ddd
ReCI test
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m28s
2024-07-05 11:38:48 -04:00
513dc1e332
fixed syntax error in reci script
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 1m2s
2024-07-05 10:56:43 -04:00
63bbb8794e
Wrote local ReCI script for JGL
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 39s
2024-07-05 10:54:59 -04:00
178f328728
ReCI test
Run ReCI Build Test / Explore-Gitea-Actions (push) Failing after 58s
2024-07-05 09:35:51 -04:00
1c74ee9c71
Add ReCI build test
2024-07-05 09:30:20 -04:00
608e9e29f5
Support for multiple fonts
Prerelease-16
2024-07-05 05:31:25 -04:00
c53fa52f6f
FreeType2
Prerelease-15
2024-06-29 15:07:02 -04:00
7fa75cac54
initial
2024-06-29 12:37:16 -04:00
Redacted
d5f9eaa5a8
Update CMakeLists.txt
2024-06-26 23:30:40 -04:00
dead018993
Update CMakeLists.txt
Prerelease-14
2024-06-18 14:43:56 -04:00
Redacted
e9a339182b
Update CMakeLists.txt
2024-06-18 14:22:10 -04:00
Redacted
076398b290
Update CMakeLists.txt
2024-06-18 14:19:45 -04:00
cf72d92c28
Merge branch 'master' of https://git.redacted.cc/josh/JGL
Prerelease-13
2024-05-29 22:18:41 -04:00
5d99f8ec1f
update
2024-05-29 22:18:40 -04:00
a388ee8021
Implement proper GL state management in DrawString2D, DrawString3D
2024-05-29 15:27:24 -04:00
41916a4089
Update JGL.cpp
Release-12
2024-05-29 15:05:06 -04:00
222dd346fb
Fix memleak
Prerelease-11
2024-05-27 20:48:22 -04:00
e6e567725b
Color
Prerelease-10
2024-05-23 12:05:00 -04:00
93612bb816
Update JGL
Prerelease-9
2024-05-23 10:57:48 -04:00
9ac22a8a87
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# CMakeLists.txt
Prerelease-8
2024-05-01 20:30:50 -04:00
1eaa9c6574
Migrating dependencies to latest releases
2024-05-01 20:30:21 -04:00
Redacted
f5f590164a
Update CMakeLists.txt
...
J3ML v20
Prerelease-7
2024-03-21 15:19:53 -04:00
c45485cabd
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# CMakeLists.txt
2024-02-29 02:18:05 -05:00
143703dea3
Migrating Sources to LearnOpenGL
2024-02-29 02:17:42 -05:00
Redacted
48493cb2fc
Update CMakeLists.txt
Prerelease-6
2024-02-24 07:56:25 -05:00
5b7829b1f8
Implement LearnOpenGL::Mesh
2024-02-22 18:39:50 -05:00