176 Commits

Author SHA1 Message Date
1e4279f671 Move basic window functionality to a superclass. Makes it easier to share implementation with other concrete windows using GLFW 2022-02-24 19:04:27 -08:00
283ce10697 Move math library to separate project 2022-02-23 19:26:58 -08:00
96b409adc2 Move multipurpose files over to rexylib so I can reuse them in other codebases 2022-02-23 17:01:31 -08:00
8a0947e750 Rearrange the wip stuff again. I think combining shaders with vaos is a good idea since they seem to work together a lot. Plus I'm pretty sure that's sorta how vulkan works. 2022-02-23 16:34:26 -08:00
6e54ae74a7 Allow build on system without standard library concepts 2022-02-21 19:13:41 -08:00
46e8d73d22 Work on api agnostic shader interface 2022-02-21 18:52:39 -08:00
a15efd2ae7 Remove use of older renderer setup from play_state. Some functionality is lost, namely the color changing of the squares. This would require manually operating on the ogl::shader_program which I can't allow to happen in that context. An intermediary class must be created so that data in the shader can be manipulated render api agnostically. 2022-02-21 13:10:41 -08:00
f7c0b4a177 Remove need to know the shader type from pause_state. Moves rendering api dependance elsewhere 2022-02-20 18:47:15 -08:00
621bf0349a Rename egn::object_base to egn::object 2022-02-18 18:14:09 -08:00
f40559f543 Add explicit template instantiation for most common matrix, vector, and quaternion types 2022-02-18 18:11:17 -08:00
106c7009b5 Clean up some of the concept jank 2022-02-18 17:46:17 -08:00
3a2e1c27a4 Fix forgotten typenames in header. GCC didn't notice but clang did 2022-02-18 17:03:32 -08:00
ae068a8688 Playing with c++20 concepts 2022-02-18 16:57:27 -08:00
f2fa02336b Integrate some wip changes into pause_state 2022-02-18 16:57:14 -08:00
0cc6c7fff6 Add wip cleasses. Change coding standard to have 'void' in empty parameter lists. change instances of math::vecN<GLfloat> to math::vecNf 2022-02-17 05:13:33 -08:00
85d6acad11 Restructure directories 2022-02-10 16:56:01 -08:00
daa5f13a60 Remove files that were not being used anymore 2022-02-10 10:43:55 -08:00
d862fa5fc0 Removed all this random testing bs 2022-02-10 10:42:02 -08:00
06d3c3d9c7 Fix incorrect type in uniform 2022-02-06 13:37:42 -08:00
e0924c5895 I forgot to commit for a while so there's a lot in here.
Added ubo class template for handling Uniform Buffer Objects. This class automatically finds the offset and alignment for given data in a GLSL std140 uniform block. This makes it easy to just assign data through the gfx::ubo interface and bind that to the relevant shader_program's uniform block
Changed shader_program's method of handling uniforms to match more closely to how vao handles its attributes. That is to call  with the location as argument to get a proxy object on which to operate. I find this nicer to work with than having everything to do with uniforms in the shader_program class itself
Add a flat_camera class which just assigns the near and far plane to 0 and 1 respectively
Start work on a gui system which i'm really not confident about.
Attempting to rethink how renderers work, but also no really confident about where i'm going with it
Break out vbo_scoped_map into a more general scoped_buffer_map class so that vbo and ubo can utilize it
Remove old gl_buffers units that were not really being used since my change over to opengl DSA functions
Change the gfx::resource_manager to keep shared_ptr's in the container so the data can be more nicely shared
Add missing aliases in math::fwd_declare.hpp for boolean types
Change orthographic projection generator function to have the z values behave more in line with how opengl handles z depth. May have to undo this at some point but it seems to behave correctly now
Fix some rvalue related aspects of util::deferred
'
2022-02-04 13:49:22 -08:00
1b884a9a48 Update makefile 2022-01-26 19:03:03 -08:00
7622aa74a6 Fix memory leak and undefined behavior in stb_alloc.cpp 2022-01-26 17:46:14 -08:00
6f670b6cd9 Rendering some amount of text bby 2022-01-26 16:43:31 -08:00
fa15721c94 Work on text rendering. All just tinkering really 2022-01-20 17:03:00 -08:00
a8082b6885 Add some font test comments 2022-01-18 15:28:26 -08:00
da9b871626 Add ability to buffer data to the middle of a vbo 2022-01-18 15:28:10 -08:00
80cb7f9528 Add deferred_function for when you want to call something other than a constructor lazily 2022-01-18 15:27:47 -08:00
54014cf460 Update font atlas generator to make smaller textures 2022-01-18 15:27:04 -08:00
01a20905f4 Add convenience aliases to math classes 2022-01-18 15:26:14 -08:00
52808c3826 Change resource manager to be more closely tied to the opengl context instance rather than the game instance 2022-01-18 12:03:46 -08:00
6580fdd4d5 Add debug output on reset in play_state 2022-01-17 14:57:13 -08:00
512cd70145 Update makefile to actually work. Add reset button in play_state (r) 2022-01-17 13:58:39 -08:00
21137971ca Start work on figuring out interface between graphics and engine subsystems. I did this by creating a 'board_gfx' class that became a member of the 'board' class. This gfx member does all the graphics legwork for the type.
I also put all the tic-tac-toe specific files into 'ttt' subdirectories to make it easier to see what's specifically for this game and what's just a wip idea
2022-01-17 13:35:29 -08:00
5857c442aa Add geometry shader to the square_shader for tests. Add texture_base class to allow easier addition of the texture_array class. Finally got some level of instance rendering to work, even if it's not technically instanced. 2022-01-16 15:17:43 -08:00
a49d24d61e Add basic font atlas loading 2022-01-15 15:26:21 -08:00
1c4d5cd304 Add subimage to texture 2022-01-15 11:36:42 -08:00
913285e57a Make board tiles change color if they are hovered and clicked 2022-01-10 12:44:14 -08:00
46c22c6193 Add pause screen image 2022-01-10 10:35:33 -08:00
56e4599ea1 Add resource manager. Add tic tac toe board abstraction 2022-01-09 15:46:53 -08:00
9a16c6ca69 Merge branch 'rexy-graphics' of ssh://rexy712.chickenkiller.com:1995/var/git/repos/rexy712/our_dick into rexy-graphics 2021-08-01 13:27:37 -07:00
59b6cd65fd Fix wayland build and merge fixes from other project using audio 2021-08-01 13:27:13 -07:00
rexy712
2857345b87 Add line-line collision check 2021-01-17 16:26:33 -08:00
rexy712
835f190aa9 Add sphere-rectangle collision check 2021-01-13 10:21:15 -08:00
rexy712
73cf1e3f42 Add sphere-linesegment collision check 2021-01-13 10:17:57 -08:00
rexy712
e7bbfb4591 Add sphere-sphere collision check 2021-01-13 10:15:10 -08:00
rexy712
93cc1b4d02 Add sphere-point collision check 2021-01-13 10:13:19 -08:00
rexy712
5a22d09e47 Fix retard rectangle-point collision check 2021-01-12 14:32:51 -08:00
rexy712
de510b1f14 Fix rectangle-point collision checks in the cases where the point is only outside the coplanar rectangle on 1 primary axis. 2021-01-11 18:02:33 -08:00
rexy712
3946f9157c Add point-rectangle collision check 2021-01-11 16:38:10 -08:00
rexy712
bc7846b697 Clarify for myself how the line-point intersection check works 2021-01-05 13:38:55 -08:00