Commit Graph

50 Commits

Author SHA1 Message Date
454b8e6c28 Implemented basic normal-dot product shading, preparing for more complex methods such as Blinn-Phong and PBR 2024-12-04 23:11:15 -06:00
c42133f426 Added vertex normal to the Agnosia_T::Vertex definition, pre-calculated using TinyObjLoader's built in vertex normal calculator 2024-12-04 01:55:40 -06:00
d862068c6e Multiple Object renderinggit add .git add . Completely revamped the model loading system using Model class instances, uses a Material class to build textures, clean slated descriptor sets for bindless rendering, significantly shortening the amount of code needed to load VkImage, VkImageView, and VkSampler. Added multiple texture rendering, abstracted out model loading process to automatically collect all Model instances and render for each object. 2024-12-03 01:57:55 -06:00
d5190c8207 Replaced Index and Vertex buffer descriptions using descriptor sets with the VMA Library, massively simplifying the creation of the Vertex and Index buffer, and uses push constants 2024-11-27 15:54:35 -06:00
f8bd7fdf3b Major refactoring, removed the usage of the global header and replaced with getters and setters. Cleaned up headers and what is included. 2024-11-24 18:12:29 -06:00
d8c82d3351 Updated ImGUI configuration to hook into the GLM math functions that control the Model, View, and Projection matrix 2024-11-22 22:36:04 -06:00
a1544ce989 update ImGui MSAA setting, which caused it to render on top of the top left corner rather than the whole view, and enable sample shading, MSAA needs some setting to choose the best optimal performance vs quality mode rather than max, for performance 2024-11-22 00:52:22 -06:00
aa53a80fce Multisampling implementation using the max samples the GPU supports 2024-11-21 23:54:07 -06:00
2631bbbaba Implement volk meta loader and ImGui 2024-11-11 21:43:56 -06:00
4a8f6909a8 Properly set up transitioning image layouts to pair well with dynamic rendering, refactor some code. 2024-11-05 05:50:51 -06:00
7770063537 Small fixes 2024-10-24 21:05:36 -05:00
5c2f82b995 Add stanford dragon model 2024-10-24 20:21:10 -05:00
7d2949ca73 Push before i fucking break everything again 2024-10-19 06:01:10 -05:00
0797c418da Add mipmaps to texture creation pipeline 2024-10-18 11:57:07 -05:00
6e8e75d5b3 Fix dragon UV's to allow it to run without crashing 2024-10-16 22:23:21 -05:00
57496aea2c fix cleanup function, at todo for broken indice buffer. 2024-10-16 07:28:13 -05:00
af7b533f50 clean up a RIDICULOUS amount of shit code lmfao, instantiation < static calls (im dumb as hell) 2024-10-16 06:02:15 -05:00
56fb496ec7 Fix index buffer 2024-10-14 16:24:48 -05:00
43fd780e0b .OBJ Loading 2024-10-14 09:17:17 -05:00
ac402dbef8 Depth buffering set up! Needs documentation and cleanup (again...) 2024-10-14 05:26:02 -05:00
19c25ba670 Update documentation 2024-10-13 20:32:20 -05:00
9878070b4c Add Texture loading and extend original functionality! this needs HEAVY documentation, which I will do tomorrow. 2024-10-13 04:56:45 -05:00
cb4500d97f Update documentation and clean code for Uniform Buffers, added time variable to descriptor set, preparing for Texture mapping. 2024-10-12 04:14:22 -05:00
086adae47a Uniform buffer creation, set up rudimentary MVP matrix 2024-10-11 22:41:29 -05:00
6b8b24da65 Update gitignore 2024-10-11 18:00:39 -05:00
c1de710dde Add PlantUML flowchart 2024-10-11 11:13:02 -05:00
edfbddea55 Index buffer support to allow for reusing of the same vertices. Next commits will be refactors and documentation, graphs and flows of execution 2024-10-10 02:26:13 -05:00
7e625a3db5 Set up Vertex Buffer 2024-10-09 06:14:01 -05:00
0fefb85d0a Majorly cleaned up unnecessary includes and reformatted makefile to include shaders now. 2024-10-09 02:53:44 -05:00
5fca2134fe Finally handle swap chain recreation! resizing the window is possible now. Need to comment about what is happening in draw frames. Rewrote the main function to use a Singleton framework as well 2024-10-08 23:42:30 -05:00
db832a7dae Refactored main function to use a singleton patten 2024-10-08 23:26:45 -05:00
29599e4b9a Triangle finally renderedgit add . Swap ChainRecreation is up next, to allow for resizing. Then, it will be on to buffers for non-hardcoded shaders 2024-10-08 06:02:47 -05:00
10a8c236f0 Prepare for rendering and presentation 2024-10-08 01:57:32 -05:00
a8cbb97fd0 Fixed Function pipeline settings, prepping for Render passes then rendering to the screen 2024-10-07 17:02:47 -05:00
fa14b3fd8f Implemented image view system for.. viewing images 2024-10-07 05:09:46 -05:00
3bb747bfae Swap Chain's setup rudimentarily, resizing the window is not available as of yet, because that would invalidate the swap chain, but now we have a target to render to. 2024-10-06 20:17:19 -05:00
ee0b68588c Update Documentation and remove duplicate includes caused by global headers 2024-10-06 04:52:10 -05:00
3e0206b581 Major refactoring to fix spaghetti code, hook sanitizers in when debug building, and set up window surfaces. 2024-10-06 04:35:53 -05:00
9a6a351e23 Added Logical Device setup, currently there are a few errors thrown because we don't enable any extensions, but DO enable optional features, which rely on those extensions. It seems like vulkan can deal with these errors without crashing, but this will be addressed shortly regardless 2024-10-05 19:59:15 -05:00
f161504410 Support queue families and physical devices, choose a GPU that we can use based on what ops it can do basically 2024-10-05 16:53:36 -05:00
4d16ae606d Majorly revamp the debug system, setting up a validation layer with a debug messenger, document it all, clean up main and VulkanDebugLibs 2024-10-05 05:50:37 -05:00
8d7cbb27c7 Update some internal names 2024-10-04 23:16:24 -05:00
47ad14f028 Add library for handling validation layers solely, added dimple escher cube model for experimenting 2024-10-04 23:07:53 -05:00
04997fa682 Added validation layer injection, working on message callbacks per the vulkan docs 2024-10-04 19:56:58 -05:00
d97ac93a1f Handle creation of vulkan instance, update documentation 2024-10-04 16:00:07 -05:00
55b146258c Implement simple Vulkan+GLFW window, Update makefile accordingly 2024-10-04 03:36:56 -05:00
fa6c3052ec printf > cout 2024-10-04 01:22:33 -05:00
eb66d83242 Revert "Add vulkan resources"
This reverts commit 9ccbc1b0fb.
2024-10-04 01:03:13 -05:00
9ccbc1b0fb Add vulkan resources 2024-10-04 00:52:03 -05:00
98929dd2c6 Proto Makefile 2024-10-03 23:55:40 -05:00