454b8e6c28
Implemented basic normal-dot product shading, preparing for more complex methods such as Blinn-Phong and PBR
master
Lillian Salehi2024-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
Lillian Salehi2024-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.
Lillian Salehi2024-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
Lillian Salehi2024-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.
Lillian Salehi2024-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
Lillian Salehi2024-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
Lillian Salehi2024-11-22 00:52:22 -06:00
aa53a80fce
Multisampling implementation using the max samples the GPU supports
Lillian Salehi2024-11-21 23:54:07 -06:00
4a8f6909a8
Properly set up transitioning image layouts to pair well with dynamic rendering, refactor some code.
Lillian Salehi2024-11-05 05:50:51 -06:00
9878070b4c
Add Texture loading and extend original functionality! this needs HEAVY documentation, which I will do tomorrow.
Lillian Salehi2024-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.
Lillian Salehi2024-10-12 04:14:22 -05:00
086adae47a
Uniform buffer creation, set up rudimentary MVP matrix
Lillian Salehi2024-10-11 22:41:29 -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
Lillian Salehi2024-10-10 02:26:13 -05:00
0fefb85d0a
Majorly cleaned up unnecessary includes and reformatted makefile to include shaders now.
Lillian Salehi2024-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
Lillian Salehi2024-10-08 23:42:30 -05:00
db832a7dae
Refactored main function to use a singleton patten
Lillian Salehi2024-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
Lillian Salehi2024-10-08 06:02:47 -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.
Lillian Salehi2024-10-06 20:17:19 -05:00
ee0b68588c
Update Documentation and remove duplicate includes caused by global headers
Lillian Salehi2024-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.
Lillian Salehi2024-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
Lillian Salehi2024-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
Lillian Salehi2024-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
Lillian Salehi2024-10-05 05:50:37 -05:00