Commit Graph

80 Commits

Author SHA1 Message Date
SeanOMik 3b51dce796
Implement ECS with EnTT and a submission based renderer 2022-09-23 00:44:07 -04:00
SeanOMik 08bcb56a5f
Read diffuse textures from 3d models 2022-09-22 00:11:12 -04:00
SeanOMik 5a7e5cd10f
Use assimp for loading 3d models 2022-09-21 22:52:06 -04:00
SeanOMik 96ac056a5d
Fetch stb header libraries with CMake's FetchContent 2022-09-17 22:19:23 -04:00
SeanOMik ec1d6aebe7
Remove usage of SOIL2, just use stb_image.h 2022-09-17 19:41:38 -04:00
SeanOMik 2a72a30aa2
Readadd obj loading 2022-09-16 17:39:24 -04:00
SeanOMik ca6c2337d6
Create utility function for adding components to entity 2022-09-16 17:01:52 -04:00
SeanOMik 3f39e27174
Add simple EntityManager for updating entities 2022-09-16 11:50:33 -04:00
SeanOMik 04cf19d7bd
Fix rendering entities 2022-09-16 11:14:38 -04:00
SeanOMik 44f9a5f5a5
Fix the opengl errors, still not rendering anything 2022-09-10 18:39:39 -04:00
Sean Ervin 371534a01a
Implement ECS in the renderer. Nothing is shown yet though 2022-08-30 19:39:24 -04:00
SeanOMik 61ff63bef0
Start working on scene based rendering
The renderer will render a scene object which has entities and "stray" models to render
2022-08-19 00:20:53 -04:00
SeanOMik 3a49373d75
Create a renderer that handles model rendering 2022-08-18 22:40:34 -04:00
SeanOMik 0a3d80d17c
Delete "Vertex" replace it with "LitVertex" 2022-08-18 16:03:51 -04:00
SeanOMik 0226819a46
Implement batched rendering with multiple textures 2022-08-18 11:34:05 -04:00
SeanOMik db94d85168 Add engine resources to store core shaders, create core shader class 2021-12-12 22:21:10 -05:00
SeanOMik a507e2f169 Don't use shared_ptr<GLuint> for shader programs, fix compiling windows 2021-12-12 22:17:59 -05:00
SeanOMik 576d4030b8 Add specular lighting 2021-12-09 16:24:26 -05:00
SeanOMik ed08a78fb6 Add some comments to ObjModel. 2021-12-08 23:31:46 -05:00
SeanOMik b4ad64d5c5 Try to get some simple lighting working 2021-12-08 23:14:45 -05:00
SeanOMik b35583fa4a Separate obj_model.h to a .cpp file also 2021-12-07 16:01:48 -05:00
SeanOMik 4a09752f20 Merge Square and Triangle in one class: Model or TexturedModel 2021-12-07 14:51:12 -05:00
SeanOMik a64a748019 Obj model loading and rendering 2021-12-07 00:17:04 -05:00
SeanOMik bab9ef3c74 Move 2d square and triangle files 2021-12-06 22:54:22 -05:00
SeanOMik 340b21f099 Create a simple camera 2021-12-06 22:44:47 -05:00
SeanOMik 211d8957a3 Make Square transformable 2021-12-02 23:10:32 -05:00
SeanOMik 18e01bde5a Create Transformable class and add it to Triangle 2021-12-02 23:07:06 -05:00
SeanOMik 779df14f67 Forgot to push all code for last commit 2021-12-02 16:58:15 -05:00
SeanOMik 794246eb02 Use raw pointer of GLFWwindow instead shared_ptr 2021-12-02 16:56:49 -05:00
SeanOMik e48f52da75 Start working on translations 2021-11-30 18:30:19 -05:00
SeanOMik d89715a123 Add `set_uniform_matrix` in Shader 2021-11-30 18:30:07 -05:00
SeanOMik 7901413d7b Attempt to get a triangle moving 2021-11-28 13:21:25 -05:00
SeanOMik d6f251d6b8 Forgot to write the shader methods as snake_case 2021-11-28 13:06:41 -05:00
SeanOMik 7e0ecda783 Remove the created by comments, and replace header guards with pragma 2021-11-27 14:16:41 -05:00
SeanOMik 88fe486473 Move Texture to simpleengine::gfx, separate texture to cpp file 2021-11-27 14:11:07 -05:00
SeanOMik d3555e112d Separate code in square.h and triangle.h to .cpp files 2021-11-27 14:06:51 -05:00
SeanOMik 97e1ce44cd Implement textures and add more stuff to Shader 2021-11-27 13:52:48 -05:00
SeanOMik 79f5fba2ec Add color to `Vertex`es 2021-11-25 22:28:47 -05:00
SeanOMik 625ba885c5 Allow triangle class to draw multiple gl triangles 2021-11-25 17:02:08 -05:00
SeanOMik 862833fc71 Fix the 2d triangle, create square, create VAO, and VBO objects. 2021-11-25 16:15:24 -05:00
SeanOMik 741b0c5b07 Add cmrc for resource compiling, add shaders, create a 2d triangle 2021-11-21 01:23:53 -05:00
SeanOMik 9feff47a35
Get an opengl window showing. 2021-11-20 00:48:47 -05:00
SeanOMik e69c86283c
Delete all old 2d code, change license 2021-11-20 00:48:28 -05:00
SeanOMik 94cbd111e8
Change the command handler to update its own list of entities 2021-04-03 22:27:44 -05:00
SeanOMik 823c0b37c6
Use type_traits to decide what distribution to use in Random 2021-03-22 18:55:21 -05:00
SeanOMik f97f882845
Update MovementComponent to use EventCallbacks for input. 2021-03-21 19:55:29 -05:00
SeanOMik 2aeacca536
Remove unused #include <iostream> 2021-03-12 22:04:11 -06:00
SeanOMik 62ade4de04
Create simpleengine::Random class, remove simpleengine::random namespace 2021-03-12 21:27:45 -06:00
SeanOMik 8848047f73
Create an EventCallback system 2021-03-12 21:01:38 -06:00
SeanOMik b9255b1bfb
Compiler warnings, and don't dynamic_cast twice in Entity::GetComponent 2021-03-12 17:33:10 -06:00