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