Commit Graph

  • 93d665b356 KRMesh::renderSubmesh is now private. Added KRMesh::renderNoMaterials. Replaced renderSubmesh loops outside KRMesh with calls to KRMesh::renderNoMaterials. Added KRMesh::getVertexAttributes. Call sites are now using KRMesh::getVertexAttributes and KRMesh::getModelFormat to configure the pipeline. kearwood 2022-07-06 23:04:43 -07:00
  • b7e4415b16 Inlined, removed wrapper function KRPipelineManager::selectPipeline kearwood 2022-07-06 21:59:50 -07:00
  • 8e9885b46c WIP Inlining KRPipelineManager::selectPipeline wrapper function. kearwood 2022-07-05 22:22:48 -07:00
  • d76ce2090d Eliminated one overload of KRPipelineManager::selectPipeline Vulkan draw call refactoring kearwood 2022-07-05 22:08:05 -07:00
  • 54e484bd71 Replacing glDraw commands with vkCmdDraw and populating PipelineInfo with vertex formats. kearwood 2022-07-05 21:40:26 -07:00
  • bbc0de400c Added PipelineInfo::vertexAttributes and PipelineInfo::modelFormat KRPipelineManager::getPipeline now has just one version with two arguments. Commented out GL version of getPipeline, to be later merged into the Vulkan version. kearwood 2022-07-05 21:27:41 -07:00
  • ad64ab506a Eliminated dead functions. kearwood 2022-07-04 22:21:28 -07:00
  • 68c3831fde Added composite buffer render passes for deferred lighting path. Refactoring KRCamera::renderFrame to use render passes. Eliminate composite buffer binding GL code from KRCamera::renderFrame kearwood 2022-07-04 22:08:05 -07:00
  • 17113b59ea Removing no longer needed OpenGL code. kearwood 2022-07-04 21:20:43 -07:00
  • 943bbfda2f Added PipelineInfo::CullMode Replaced GL culling functions with CullMode pipeline option. kearwood 2022-07-04 20:49:46 -07:00
  • b801da7eb3 Blending and depth testing refactoring to Vulkan. Eliminating OpenGL state following. kearwood 2022-07-04 20:18:00 -07:00
  • 2e371386cf Added PipelineInfo::RasterMode::kOpaqueNoDepthWrite Refactored additional GL depth and blending state to use RasterMode kearwood 2022-07-03 21:52:54 -07:00
  • 44be42a4a8 VkPipelineColorBlendAttachmentState and VkPipelineDepthStencilStateCreateInfo are now driven by PipelineInfo::RasterMode kearwood 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. kearwood 2022-07-03 21:13:39 -07:00
  • 13412cb5c5 Comment type-o kearwood 2022-07-03 20:54:23 -07:00
  • 6bb2309d07 Fixed errors in comment describing PipelineInfo::RasterMode kearwood 2022-07-02 21:04:20 -07:00
  • 8db6a4313f Combined depth test and depth write modes into PipelineInfo.rasterMode. kearwood 2022-07-02 21:01:02 -07:00
  • d292c86b6e Eliminated PipelineInfo.bAlphaBlend as it can be determined from rasterMode kearwood 2022-07-02 20:23:09 -07:00
  • d571bcbdc3 Refactor OpenGL alpha blending to use PipelineInfo.rasterMode kearwood 2022-07-02 20:07:11 -07:00
  • 0f8feb669c Fix Azure CI, MSVC CMake integration. Update configure batch script to VS 2022 kearwood 2022-07-02 18:31:48 -07:00
  • d1b085ffb5 Moved PipelineInfo to KRPipeline.h Added PipelineInfo::RasterMode Kearwood Gilbert 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 Kearwood Gilbert 2022-04-06 01:00:13 -07:00
  • 52c8ec2776 Reduced boilerplate needed to select and bind a KRPipeline Kearwood Gilbert 2022-04-05 22:25:19 -07:00
  • 858064fa4b Using KRPipelineManager::info struct to reduce number of parameters passed to KRPipelineManager::selectPipeline Kearwood Gilbert 2022-04-05 21:58:47 -07:00
  • 9e0136f051 Updating call sites to use struct argument version of KRPipelineManager::getPipeline Kearwood Gilbert 2022-04-04 02:00:01 -07:00
  • de5d6e64aa KRPipeline::getPipeline now accepts a struct to reduce argument count Kearwood Gilbert 2022-04-04 00:52:32 -07:00
  • 56abe4425f Remove KRStockGeometry as its now handled by KRMeshManager Kearwood Gilbert 2022-04-03 23:59:15 -07:00
  • 1877049526 Replace GLFloat with float Remove unimplemented function Kearwood Gilbert 2022-04-03 23:54:10 -07:00
  • 2f104edf7c Remove MacOS and IOS OpenGL code Kearwood Gilbert 2022-04-03 23:40:16 -07:00
  • 99394820fc Removed GLFW dependency Kearwood Gilbert 2022-04-03 23:31:27 -07:00
  • 3784c0fc0b Remove XCode Project and associated interfaces which no longer match current Kraken API Kearwood Gilbert 2022-04-03 23:23:06 -07:00
  • c49e177264 Removing RenderFrame parameters no longer needed with Vulkan and KRSurface Kearwood Gilbert 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. Kearwood Gilbert 2022-04-03 23:05:30 -07:00
  • b6922dc63f License header year bump Kearwood Gilbert 2022-04-03 21:56:23 -07:00
  • f48fb5b14f Vulkan Refactoring - Implemented KRSwapchain Kearwood Gilbert 2022-04-03 21:49:54 -07:00
  • c58487c00f KRRenderPass now selected by KRCamera Kearwood Gilbert 2022-03-27 22:37:15 -07:00
  • 5e8c9223ac Moved frameIndex to KRSurface Kearwood Gilbert 2022-03-27 22:14:41 -07:00
  • 36f804e176 Implemented KRRenderPass::begin and KRRenderPass::end Kearwood Gilbert 2022-03-27 21:56:45 -07:00
  • 2818deb0e3 Vulkan Refactoring - Added KRRenderPass, WIP refactorign KRScene::RenderFrame Kearwood Gilbert 2022-03-27 21:34:19 -07:00
  • 9bdfb0feea Attached depth buffer to KRSurface and enabled depth testing in render pass Kearwood Gilbert 2022-03-01 23:53:42 -08:00
  • adfaf21cda Creating depth buffer for Vulkan Kearwood Gilbert 2022-03-01 23:24:55 -08:00
  • 00eeb8bcb4 KRPipeline's are now created with the passed in KRMesh::model_format_t Kearwood Gilbert 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. Kearwood Gilbert 2022-02-28 21:27:25 -08:00
  • b34ba9b096 Removing more OpenGL code from KRMeshManager Kearwood Gilbert 2022-02-28 20:54:03 -08:00
  • 1a948915c6 Remove OpenGL code from KRMeshManager Kearwood Gilbert 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 Kearwood Gilbert 2022-02-28 20:14:22 -08:00
  • 0a18ddcbb3 Vulkan refactoring - passing VkCommandBuffer down through node render functions Kearwood Gilbert 2022-02-28 01:41:04 -08:00
  • 6a56c9ebfe Added Vulkan versions of KRVBOData::bind and KRPipeline::bind Kearwood Gilbert 2022-02-28 01:07:32 -08:00
  • a26ee33e4c WIP Refactoring... Kearwood Gilbert 2022-02-28 00:17:12 -08:00
  • df344d0d7b Vertex attributes are now bound automatically to shaders using spirv reflection. Kearwood Gilbert 2022-02-27 23:51:29 -08:00
  • 3c948e2337 WIP Vulkan Refactoring and reflection driven vertex attribute binding Kearwood Gilbert 2022-02-27 22:10:17 -08:00
  • d24df948c1 Added SPIRV reflection information to KRShader Kearwood Gilbert 2022-02-21 20:20:22 -08:00
  • e9df34b191 Added SPIRV-Reflect library Kearwood Gilbert 2022-02-21 19:35:55 -08:00
  • 400a7e0061 WIP Binding vertex buffers kearwood 2022-02-13 22:22:51 -08:00
  • 8414c1c0bb Added GPU debug label for shader modules kearwood 2022-02-13 21:25:57 -08:00
  • 7166a21b81 Added GPU debug labels for vertex and index buffers with VK_EXT_debug_utils kearwood 2022-02-07 23:38:57 -08:00
  • 227a2acaf4 Now copying vertex and index buffers to GPUs kearwood 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. kearwood 2022-01-22 01:32:32 -08:00
  • ad596a82f9 WIP Index and Vertex buffer allocation kearwood 2022-01-22 01:01:08 -08:00
  • 0330d5b4fe Commented out now broken Mesh loading OpenGL code. (Vulkan refactoring WIP) kearwood 2022-01-21 23:38:36 -08:00
  • d093cc6f96 Removed KRMeshManager's first-frame hackery for loading static meshes. They now load systematically. kearwood 2022-01-21 23:32:00 -08:00
  • 739111ed2d Creating VmaAllocator object for each Vulkan device. kearwood 2022-01-15 03:34:41 -08:00
  • 2df55cf31c Eliminated KRContext::KRENGINE_MAX_SHADER_HANDLES kearwood 2022-01-15 02:25:13 -08:00
  • a178ed8bcc Hard-coded dummy values for streamer thread configuration. (To be replaced after Vulkan conversion) Eliminated KRContext::KRENGINE_MAX_SHADER_HANDLES kearwood 2022-01-15 02:24:08 -08:00
  • 1053eb487c Imported Vulkan Memory Allocator submodule kearwood 2022-01-14 18:37:14 -08:00
  • 3a06069184 Kraken tests now use hidpi aware windows Kearwood Gilbert 2021-08-18 01:20:00 -07:00
  • e485518227 Add explicit surface resize detection and handle window minimize. Kearwood Gilbert 2021-08-18 00:58:42 -07:00
  • 2102faf4e5 Recreating swap chain when invalidated Kearwood Gilbert 2021-08-18 00:41:31 -07:00
  • 42717276b5 Starting streamer thread Kearwood Gilbert 2021-08-17 01:49:30 -07:00
  • e046c1638a Remove dead code Kearwood Gilbert 2021-08-17 01:30:15 -07:00
  • f0b8dbbac5 Remove dead code Kearwood Gilbert 2021-08-17 01:25:53 -07:00
  • fc55a5d490 Session owned managers are now using std::unique_ptr Kearwood Gilbert 2021-08-17 01:22:18 -07:00
  • 5d0a4bc9d2 Remove commented code Kearwood Gilbert 2021-08-17 00:38:11 -07:00
  • a3fc0d84d4 Implemented KRDeviceManager Kearwood Gilbert 2021-08-17 00:20:56 -07:00
  • f6b3845057 Added KRSurfaceManager Kearwood Gilbert 2021-08-16 23:36:05 -07:00
  • 212cea794f Created KRPresentationThread Kearwood Gilbert 2021-08-16 22:52:26 -07:00
  • 817cd32044 WIP Vulkan Pipeline refactoring Kearwood Gilbert 2021-08-16 22:04:02 -07:00
  • 0e2bd45b7f Surface initialization and destruction moved to KRSurface Kearwood Gilbert 2021-08-16 19:51:15 -07:00
  • 61a83dd28d Vulkan device initialization moved to KRDevice Kearwood Gilbert 2021-08-16 18:25:03 -07:00
  • 748bd56b37 KRDevice refactoring WIP Kearwood Gilbert 2021-08-16 16:50:05 -07:00
  • d69699230a Updated HEaders Kearwood Gilbert 2021-08-16 16:35:36 -07:00
  • 67ebb49d02 Update hydra Kearwood Gilbert 2021-08-16 16:34:21 -07:00
  • f8950ffc55 Added KRSurface to its own file. Kearwood Gilbert 2021-08-16 15:49:54 -07:00
  • 92e7dec2fa Refactored SurfaceInfo to KRSurface and DeviceInfo to KRDevice. Created new files for KRSurface and KRDevice. Kearwood Gilbert 2021-08-16 15:49:17 -07:00
  • 09b9841c03 Vulkan triangle! Switched to Vulkan 1.1 GLSL dialect Added vulkan test shader Implemented test render thread function Kearwood Gilbert 2021-08-12 23:29:45 -07:00
  • 1114210039 Create Vulkan semaphores for swapchain synchronization Kearwood Gilbert 2021-08-12 22:40:40 -07:00
  • 0285e734bc Allocate Vulkan command buffers Kearwood Gilbert 2021-08-12 21:45:41 -07:00
  • 9bc30e6937 Create vulkan command pools Kearwood Gilbert 2021-08-12 21:31:20 -07:00
  • 3fff761bca Creating Vulkan framebufffers kearwood 2021-08-12 19:51:47 -07:00
  • 12e476dc81 Surface handles are now indirect. Kearwood Gilbert 2021-08-12 00:45:57 -07:00
  • 4d79896b76 Introduced KrSurfaceMapIndex type, to decouple API from internal surface indices. kearwood 2021-08-11 18:02:04 -07:00
  • 95a506e6bf Refactor Vulkan initialization, support multi-GPU kearwood 2021-08-11 17:46:26 -07:00
  • 348ba3270b Reverted to SPIR-V 1.3 WIP Pipeline initialization Kearwood Gilbert 2021-08-11 01:11:52 -07:00
  • e3501544db WIP Initialize PIpelines Kearwood Gilbert 2021-08-11 00:25:38 -07:00
  • ce7ecbdd9a Compiling shaders to SPIR-V 1.5 WIP Vulkan Pipeline initialization kearwood 2021-08-10 20:13:32 -07:00
  • 8b59c5c382 Create presentation thread kearwood 2021-08-10 17:57:13 -07:00
  • 7965da421c hello_cube project now has its own asset bundle and runs without arguments Kearwood Gilbert 2021-08-10 00:49:34 -07:00
  • 831cf2d1c5 Fix warnings kearwood 2021-08-09 19:47:19 -07:00
  • cb43ee1b5a Bump CMake Update project for VS2020 kearwood 2021-08-09 19:42:12 -07:00
  • a5d18962d3 Updated Hydra kearwood 2021-08-09 19:27:43 -07:00