Commit Graph

823 Commits

Author SHA1 Message Date
943bbfda2f Added PipelineInfo::CullMode
Replaced GL culling functions with CullMode pipeline option.
2022-07-04 20:49:46 -07:00
b801da7eb3 Blending and depth testing refactoring to Vulkan. Eliminating OpenGL state following. 2022-07-04 20:18:00 -07:00
2e371386cf Added PipelineInfo::RasterMode::kOpaqueNoDepthWrite
Refactored additional GL depth and blending state to use RasterMode
2022-07-03 21:52:54 -07:00
44be42a4a8 VkPipelineColorBlendAttachmentState and VkPipelineDepthStencilStateCreateInfo are now driven by PipelineInfo::RasterMode 2022-07-03 21:33:52 -07:00
e0e51c3f07 Added PipeLineInfo::RasterMode::kOpaqueLessTest
Refactored particles and additive effects to use PipelineInfo::RasterMode rather than direct GL calls.
2022-07-03 21:13:39 -07:00
13412cb5c5 Comment type-o 2022-07-03 20:54:23 -07:00
6bb2309d07 Fixed errors in comment describing PipelineInfo::RasterMode 2022-07-02 21:04:20 -07:00
8db6a4313f Combined depth test and depth write modes into PipelineInfo.rasterMode. 2022-07-02 21:01:02 -07:00
d292c86b6e Eliminated PipelineInfo.bAlphaBlend as it can be determined from rasterMode 2022-07-02 20:23:09 -07:00
d571bcbdc3 Refactor OpenGL alpha blending to use PipelineInfo.rasterMode 2022-07-02 20:07:11 -07:00
0f8feb669c Fix Azure CI, MSVC CMake integration. Update configure batch script to VS 2022 2022-07-02 18:31:48 -07:00
d1b085ffb5 Moved PipelineInfo to KRPipeline.h
Added PipelineInfo::RasterMode
2022-04-14 00:48:03 -07:00
767ba5932b Implement KRNode::RenderInfo
Use KRNode::RenderInfo to reduce render related argument counts and pass KRSurface through render functions.
Refactor render functions to use KRNode::RenderInfo
2022-04-06 01:00:13 -07:00
52c8ec2776 Reduced boilerplate needed to select and bind a KRPipeline 2022-04-05 22:25:19 -07:00
858064fa4b Using KRPipelineManager::info struct to reduce number of parameters passed to KRPipelineManager::selectPipeline 2022-04-05 21:58:47 -07:00
9e0136f051 Updating call sites to use struct argument version of KRPipelineManager::getPipeline 2022-04-04 02:00:01 -07:00
de5d6e64aa KRPipeline::getPipeline now accepts a struct to reduce argument count 2022-04-04 00:52:32 -07:00
56abe4425f Remove KRStockGeometry as its now handled by KRMeshManager 2022-04-03 23:59:15 -07:00
1877049526 Replace GLFloat with float
Remove unimplemented function
2022-04-03 23:54:10 -07:00
2f104edf7c Remove MacOS and IOS OpenGL code 2022-04-03 23:40:16 -07:00
99394820fc Removed GLFW dependency 2022-04-03 23:31:27 -07:00
3784c0fc0b Remove XCode Project and associated interfaces which no longer match current Kraken API 2022-04-03 23:23:06 -07:00
c49e177264 Removing RenderFrame parameters no longer needed with Vulkan and KRSurface 2022-04-03 23:12:34 -07:00
c51f776899 Replace GLFloats with floats.
Refactor KRCamera and KRScene to use width and height from KRSurface rather than stack and members.
2022-04-03 23:05:30 -07:00
b6922dc63f License header year bump 2022-04-03 21:56:23 -07:00
f48fb5b14f Vulkan Refactoring - Implemented KRSwapchain 2022-04-03 21:49:54 -07:00
c58487c00f KRRenderPass now selected by KRCamera 2022-03-27 22:37:15 -07:00
5e8c9223ac Moved frameIndex to KRSurface 2022-03-27 22:14:41 -07:00
36f804e176 Implemented KRRenderPass::begin and KRRenderPass::end 2022-03-27 21:56:45 -07:00
2818deb0e3 Vulkan Refactoring - Added KRRenderPass, WIP refactorign KRScene::RenderFrame 2022-03-27 21:34:19 -07:00
9bdfb0feea Attached depth buffer to KRSurface and enabled depth testing in render pass 2022-03-01 23:53:42 -08:00
adfaf21cda Creating depth buffer for Vulkan 2022-03-01 23:24:55 -08:00
00eeb8bcb4 KRPipeline's are now created with the passed in KRMesh::model_format_t 2022-02-28 22:04:24 -08:00
4cb3566906 Test shader now using vertex buffer. Fixed CMake script so that shaders are now recompiled and re-bundled without having to re-building Kraken SDK. 2022-02-28 21:27:25 -08:00
b34ba9b096 Removing more OpenGL code from KRMeshManager 2022-02-28 20:54:03 -08:00
1a948915c6 Remove OpenGL code from KRMeshManager 2022-02-28 20:36:54 -08:00
b306670e9c Refactoring to pass command buffer through render calls, enabling Vulkan version of KRVBOData::Bind to replace the OpenGL version 2022-02-28 20:14:22 -08:00
0a18ddcbb3 Vulkan refactoring - passing VkCommandBuffer down through node render functions 2022-02-28 01:41:04 -08:00
6a56c9ebfe Added Vulkan versions of KRVBOData::bind and KRPipeline::bind 2022-02-28 01:07:32 -08:00
a26ee33e4c WIP Refactoring... 2022-02-28 00:17:12 -08:00
df344d0d7b Vertex attributes are now bound automatically to shaders using spirv reflection. 2022-02-27 23:51:29 -08:00
3c948e2337 WIP Vulkan Refactoring and reflection driven vertex attribute binding 2022-02-27 22:10:17 -08:00
d24df948c1 Added SPIRV reflection information to KRShader 2022-02-21 20:20:22 -08:00
e9df34b191 Added SPIRV-Reflect library 2022-02-21 19:35:55 -08:00
400a7e0061 WIP Binding vertex buffers 2022-02-13 22:22:51 -08:00
8414c1c0bb Added GPU debug label for shader modules 2022-02-13 21:25:57 -08:00
7166a21b81 Added GPU debug labels for vertex and index buffers with VK_EXT_debug_utils 2022-02-07 23:38:57 -08:00
227a2acaf4 Now copying vertex and index buffers to GPUs 2022-01-22 01:58:06 -08:00
100ab0d3de KRDeviceManager::getDeviceInfo refactored to KRDeviceManager::getDevice, and now returns a unique_ptr.
Now freeing vertex and index buffers.
2022-01-22 01:32:32 -08:00
ad596a82f9 WIP Index and Vertex buffer allocation 2022-01-22 01:01:08 -08:00