Commit Graph

244 Commits

Author SHA1 Message Date
de2e8a7ed8 store vcpkg in cache to reduce runtime performance hit 2025-06-06 19:24:25 +02:00
89a82a6be2 use a geometry shader to render rectangles 2025-06-06 18:10:30 +02:00
ed7a157ee3 add shader compilation error logging 2025-06-06 18:09:49 +02:00
c5d3449abc rename shader files 2025-06-06 18:09:49 +02:00
a184cf93fc start working on a style reference sheet 2025-06-06 18:09:49 +02:00
56749e2379 code semantic fixups 2025-06-06 18:09:49 +02:00
e57f499a32 add libmath to the linker 2025-06-06 18:09:49 +02:00
13b63a1ba2 fix: include glad implementation in the unit test file, since it was lacking that 2025-06-06 18:09:49 +02:00
5f4389d9f9 provide a better method of embedding shaders within the source code 2025-06-06 18:09:49 +02:00
5ae974d84f move from float3 to float2, and general cleanup 2025-06-05 00:13:05 +02:00
a897cc7b67 write some unit tests 2025-06-03 15:05:24 +02:00
3fbc1f50ab hello, triangle
I wrote some code to get a triangle drawn to the screen.
This took much more effort than it should've...
2025-06-03 14:18:56 +02:00
4f95dc144d add code for a 3-dimentional vector. 2025-06-03 14:18:20 +02:00
fce4617571 fix clang-format algining brackets
also added qualifier alignment to be the same as my preference
2025-06-03 14:18:20 +02:00
991c071920 improve OpenGL initialization
added more comments, logging and made some default values more explicit
2025-06-03 14:16:56 +02:00
bec9ae4051 update the status badges 2025-06-02 12:46:45 +02:00
0f97969254 add compatibility headers 2025-06-02 12:41:01 +02:00
c403273e7a add colour32 header 2025-06-02 12:41:01 +02:00
fc2cbd9924 switch from c17 to gnu99
I am choosing gnu99 over c99, since I am planning to use GNU extensions,
like bswap. (in a future commit)
Why I choose c99 over c17, is because this'll produce more portable
code.

c99 does not implement noreturn.h, thus I added it to the compiler
attributes header.
2025-06-02 12:41:01 +02:00
42646baa1a don't indent post-processes directives 2025-06-02 12:41:01 +02:00
eb03b30a0d make container selection more consise 2025-06-02 12:41:01 +02:00
38afc94d4f optimise CI pipeline by removing vcpkg building from the dockerfile. 2025-06-02 12:41:01 +02:00
95b590e815 fix: add libglfw3 to the dockerfile so testing occurs correctly. 2025-06-02 12:41:01 +02:00
84a966b775 merge CI pipelines again, since the new thing didn't work well with artifacts. 2025-06-02 12:41:01 +02:00
37109911fb move testing code out of test/src/ and into test/ 2025-06-02 12:41:01 +02:00
54468cbad3 update CI to use the newer makefile system 2025-06-02 12:41:01 +02:00
cbefafacf8 rework makefile to be more os- and compiler-agnostic.
alongside removing non-crucial complexity and attempting to simplify
things as much as I can.
2025-06-02 12:41:01 +02:00
1d2617e3b3 add lisence information to files that were missing it 2025-06-02 12:41:01 +02:00
Quinn
68ad3e3109 implement automated testing CI pipeline 2025-06-02 12:41:01 +02:00
Quinn
e9946118ea add test compilation / running to makefile 2025-06-02 12:41:01 +02:00
Quinn
06e6875585 parameterize the compilation process via a macro 2025-06-02 12:41:00 +02:00
Quinn
f7994b7d50 add testing code 2025-06-02 12:41:00 +02:00
Quinn
4b611c7918 add sanitizers to flags 2025-06-02 12:41:00 +02:00
Quinn
7354c049ec add notparallel to clean 2025-06-02 12:41:00 +02:00
Quinn
8ca5620d66 include dockerfile in repo
store the docker file used in the workflows in the repo as well
2025-06-02 12:41:00 +02:00
Quinn
2170c7b0f6 start writing anvil file format 2025-06-02 12:41:00 +02:00
Quinn
5618abc501 write chunk format specification 2025-06-02 12:41:00 +02:00
Quinn
404c234054 write NBT format specification
fix typos

Signed-off-by: Quinn
<99677023+thepigeongenerator@users.noreply.github.com>
2025-06-02 12:41:00 +02:00
Quinn
fcc2c35ce8 cleanup markdown 2025-06-02 12:41:00 +02:00
Quinn
27df65992f start writing minecraft data specification, which is my summerisation of how the formats are stored, to help me later 2025-06-02 12:41:00 +02:00
Quinn
0d7f6395d2 pedantic fix: renamed uri from master to main 2025-06-02 12:41:00 +02:00
Quinn
19208fe3e5 update badges to be correct 2025-06-02 12:41:00 +02:00
Quinn
8b410a492a rename validate to ci/bin, and split up workflows
This is mainly to improve the clairity of the workflows, also allowing
them to be used for the different "badges", showing the state of each.
2025-06-02 12:41:00 +02:00
Quinn
32c024d849 add development notice to README 2025-06-02 12:41:00 +02:00
Quinn
f0ab423e36 add OpenGL bootstrapping code 2025-06-02 12:41:00 +02:00
Quinn
9120e37c26 add glad into the compilation for openGL function entry points 2025-06-02 12:41:00 +02:00
Quinn
8c78ffdca5 implement input and rework window implementation
moved the window variable as a constant in the window module, and
implement more of GLFW logic, including some basic input handling.
2025-06-02 12:41:00 +02:00
Quinn
9ade61e006 add GLFW error callback 2025-06-02 12:41:00 +02:00
Quinn
7c4ba05eee clean up error header to not use modifiers on each implementation
implementaitons do not need modifiers if the definition already has
these.
Also move the comments to be above the implementations, rather than
behind the definitions.
2025-06-02 12:41:00 +02:00
Quinn
76e3547313 rename window/render* to io/window*
this makes more sense, as we'll add more source files in this category
2025-06-02 12:41:00 +02:00