Commit Graph

  • e498bd8f23 Updating mimir and siren submodules Kearwood Gilbert 2023-12-07 16:49:47 -08:00
  • 6ace99b7e4 Merge pull request #2 from KrakenEngine/adding-ci Kearwood Gilbert 2023-12-07 16:46:24 -08:00
  • d875108095 Update cmake-multi-platform.yml Kearwood Gilbert 2023-12-07 16:10:54 -08:00
  • f81d9b406a Update cmake-multi-platform.yml Kearwood Gilbert 2023-12-07 16:08:28 -08:00
  • b67f22387f Create cmake-multi-platform.yml Kearwood Gilbert 2023-12-07 16:05:19 -08:00
  • 229a86dd33 Update Vulkan-Headers to v1.3.272 Kearwood Gilbert 2023-12-06 14:10:09 -08:00
  • 6eb4cc62da Set default branch to main for 1st party submodules Kearwood Gilbert 2023-12-06 13:59:58 -08:00
  • 226f545a1f Update remaining 1stparty submodules to use relative paths Kearwood Gilbert 2023-12-06 13:52:36 -08:00
  • 46455a1cc4 Changing to relative submodule paths Kearwood Gilbert 2023-12-06 13:51:09 -08:00
  • 068b163fe4 Add .DS_Store to gitignore Kearwood Gilbert 2023-12-06 13:22:02 -08:00
  • 0598d920c1 Update Siren Kearwood Gilbert 2023-12-06 11:46:07 -08:00
  • 7c16b85a96 Moved Siren DSP functions to submodule kearwood 2023-12-03 23:06:17 -08:00
  • 14110e48f1 Introducing the siren namespace, which will later be broken out into a separate library. kearwood 2023-12-03 21:58:10 -08:00
  • 3894209a64 Fix Vulkan semaphore deletion Kearwood Gilbert 2023-11-23 21:46:55 -08:00
  • cb998d73f0 Fix compile warnings Kearwood Gilbert 2023-11-23 21:46:12 -08:00
  • 67d8e6773a Enable VK_EXT_metal_surface for MacOS Remove unused ObjC files Fix MacOS build Kearwood Gilbert 2023-11-23 21:30:20 -08:00
  • 03f76ff8b8 MacOS build fix Kearwood Gilbert 2023-11-23 20:25:49 -08:00
  • f59d3a5539 Update hydra Kearwood Gilbert 2023-11-23 20:22:10 -08:00
  • a13a7ba248 Update mimir Kearwood Gilbert 2023-11-23 20:21:08 -08:00
  • 9e49749bc0 Update mimir kearwood 2023-09-13 00:44:15 -07:00
  • a711c0f0b4 Update mimir Kearwood Gilbert 2023-08-05 21:23:43 -07:00
  • 04e0ada271 Moved hydra to its own namespace Kearwood Gilbert 2023-08-05 21:14:53 -07:00
  • b157b66d1a Moved mimir namespace to its own submodule Kearwood Gilbert 2023-08-05 17:15:55 -07:00
  • e485261e53 Refactor - rename KRDataBlock to mimir::Block Kearwood Gilbert 2023-08-05 16:37:16 -07:00
  • 152f7a2d28 Move KRDevice::createImage to KRTexture::allocate Kearwood Gilbert 2023-06-08 23:08:42 -07:00
  • 9a183ff354 Added mapping for gl compressed texture formats to vkFormats in KRTextureKTX Kearwood Gilbert 2023-05-28 22:34:32 -07:00
  • ea0fff0e49 Added mapping for uncompressed formats to KRTextureKTX::getFormat KRTexture2D now dynamically sets vkFormat of images Kearwood Gilbert 2023-01-10 15:49:10 -08:00
  • dae67fd30c Update Hydra submodule Kearwood Gilbert 2023-01-10 14:27:11 -08:00
  • 8845e19273 Bump copyright year. Kearwood Gilbert 2023-01-10 14:22:26 -08:00
  • ebe5682ed5 Added KRTexture::getFormat Child class implementations are WIP Kearwood Gilbert 2023-01-10 14:20:27 -08:00
  • 503bf73d65 Implemented KRTextureAnimated::getFaceCount Implemented KRTexturePVR::getFaceCount Implemented KRTextureTGA::getFaceCount Kearwood Gilbert 2022-12-20 21:28:03 -08:00
  • 71fb105933 KRTexture::getFaceCount is now pure virtual Kearwood Gilbert 2022-12-20 21:12:01 -08:00
  • 84c93a2182 KRMesh::AttributeVulkanFormat now always returns a value. Kearwood Gilbert 2022-12-20 20:42:03 -08:00
  • 49620655fd KRTexture::getFaceCount() is now const Implemented KRTextureKTX::getFaceCount() Implemented KRTextureCube::getFaceCount() Kearwood Gilbert 2022-10-19 22:34:48 -07:00
  • 223108cc4c Implemented KRTexture::getFaceCount() Kearwood Gilbert 2022-10-18 23:14:21 -07:00
  • ecfd410806 KRNode::m_childNodes replaced with a double-linked list to allow more efficient insertion. kearwood 2022-10-04 22:40:09 -07:00
  • ab195e1323 Implement MIP Level streaming helper functions kearwood 2022-10-03 23:05:05 -07:00
  • b3019e3527 Updated Hydra kearwood 2022-10-03 23:04:17 -07:00
  • 80ecdb1f92 WIP KTX2 Format support kearwood 2022-10-03 22:21:49 -07:00
  • b5edc6fa35 Remove compress argument from KRTExture::uploadTexture and all descendants kearwood 2022-09-29 23:20:49 -07:00
  • 71103f676b Now including std::mutex for all platforms Kearwood Gilbert 2022-09-29 00:00:19 -07:00
  • 6607b94b44 Replaced __int32 with __int32_t kearwood 2022-09-28 23:49:49 -07:00
  • 7e82e775c6 Removed extra qualifier in declaration of KRMeshManager::getMaxLODModel kearwood 2022-09-28 23:45:15 -07:00
  • 2f8fa11c7f Building and linking Compressonator's cmp_core library kearwood 2022-09-28 23:20:44 -07:00
  • 6d53ec32d0 Add Compressonator submodule kearwood 2022-09-28 22:34:06 -07:00
  • eecde09734 Removed KRSurface dependencies from KRPipeline kearwood 2022-09-28 22:16:04 -07:00
  • 230783b3c9 Added KRPipeline constructor that is not dependent on KRSurface kearwood 2022-09-27 18:58:00 -07:00
  • a2a9714f24 Removed camera downsampling functionality no longer in use. A more advanced postfx and compositor will be implemented instead. (Continued) kearwood 2022-09-27 18:49:03 -07:00
  • e60e9bceab Removed camera downsampling functionality no longer in use. A more advanced postfx and compositor will be implemented instead. kearwood 2022-09-27 18:32:35 -07:00
  • 4d244c96c3 Const-ified helper functions in KRDevice kearwood 2022-09-27 17:33:05 -07:00
  • 741b7848c5 Implemented camera surface setting for KrUpdateNode and KrCreateNode APIs. Cameras now render only on their assigned surface. kearwood 2022-09-26 22:06:09 -07:00
  • 7722975dd0 Implemented KrUpdateNode API call. kearwood 2022-09-26 21:24:21 -07:00
  • 482c03f9bb Implemented SkyBox texture change for KrCreateNode API. kearwood 2022-09-26 21:19:27 -07:00
  • 272d3f89bc Implemented helper functions in KRContext to simplify API endpoint input validation. kearwood 2022-09-24 00:31:37 -07:00
  • 1bb7238502 KRNode::update is now fallible. Added stub function, KRCamera::update. kearwood 2022-09-23 23:43:06 -07:00
  • a186095c47 Implemented transform setting for KrCreateNode API kearwood 2022-09-23 23:31:37 -07:00
  • 77a03d53cc Enabled KrCreateNode call in the hello_cube smoke test. kearwood 2022-09-22 23:04:03 -07:00
  • ad81d58ea8 Added standard constructor with just scene and name for KRModel and KRCollider. Implemented KRNode::createNode, to create nodes declared in KrCreateNodeInfo structs. Added stub function, KRNode::update to update node attributes from a KrNodeInfo struct. kearwood 2022-09-22 23:02:42 -07:00
  • ec65e788e0 Scene nodes now persist their order. Implemented error handling and insertion logic for KRContext::createNode Refactored KRNode::m_childNodes to be a std::list rather than a std::set Added stub function, KRNode::createNode, which accepts a KrCreateNodeInfo structure kearwood 2022-09-22 22:32:17 -07:00
  • 6c8bf9fa2c WIP implementing createNode API. Added KRContext::m_nodeMap and initialization logic. Added code to hello_cube smoke test to call KrCreateNode. (Commented until test can pass) kearwood 2022-09-21 23:55:24 -07:00
  • 3f4289ec08 Merged appendBeforeNode, appendAfterNode, appendFirstChildNode, and appendLastChildNode API calls into a single createNode call. kearwood 2022-09-21 23:38:49 -07:00
  • 7a14f5122c Fixed compilation errors resulting from updated git submodules. kearwood 2022-09-21 18:33:56 -07:00
  • 9eec4aafc7 git submodule updated kearwood 2022-09-21 18:28:50 -07:00
  • 7a0b8cab34 Vulkan Refacatoring - Updated CMake project to no longer link OpenGL libraries kearwood 2022-09-21 18:22:26 -07:00
  • fa678505b7 Removed commented CMake lines for GLAD module kearwood 2022-09-21 18:20:36 -07:00
  • 9f93941b1f Removed GLAD git module kearwood 2022-09-21 18:20:11 -07:00
  • 4be16e3ddc Removed GLAD from CMake project Replaced GL integer and size typedefs with native types. kearwood 2022-09-21 18:18:13 -07:00
  • d3912a9ffe Vulkan refactoring - Replaced GLint with int. kearwood 2022-09-21 17:59:23 -07:00
  • ecb1c8a50f Removed OpenGL defines from KREngine-common.h Replaced GLDEBUG macro with an assert so code will stop when it hits OpenGL code yet to be refactored to Vulkan. kearwood 2022-09-21 17:53:06 -07:00
  • 2a36e6a11e Re-enable camera sky box draw call kearwood 2022-09-21 01:13:16 -07:00
  • 4c8b8d5d35 Eliminated KRTexture::getHandle kearwood 2022-09-21 01:02:56 -07:00
  • 5219cf0ba7 Enabled draw call for debug text overlay Vertically flipped debug text character sampling from font texture. Debug text overlay pass now functioning in Vulkan kearwood 2022-09-21 00:59:31 -07:00
  • 6b93fcbf87 Eliminated unused variable kearwood 2022-09-21 00:29:05 -07:00
  • 73166ff8aa Refactoring, eliminated DescriptorSetInfo.query, merging into DescriptorSetInfo.bindings Implemented KRPipeline::setImageBinding Added stub function KRPipeline::updateDescriptorBinding kearwood 2022-09-21 00:27:15 -07:00
  • 96ea71852f Implemented logic in KRPipeline to update descriptor sets. Implemented KRTexture::getFullImageView Implemented KRTexture::getImage Create stub function, KRUniformBuffer::getBuffer kearwood 2022-09-21 00:11:48 -07:00
  • 3ba80b1dd8 Implemented KRPipeline::bindDescriptorSets kearwood 2022-09-20 19:02:54 -07:00
  • 3df8433205 Added KRPipeline::updateDescriptorSets WIP creating and updating descriptor sets for KRPipeline binding. kearwood 2022-09-20 18:54:01 -07:00
  • 5ab035b076 Implemented KRDevice::createDescriptorSets kearwood 2022-09-20 18:23:45 -07:00
  • ee091aa1fe KRDevice now allocates a global descriptor pool per each device. kearwood 2022-09-20 18:12:18 -07:00
  • a3ee2845d1 Vulkan refactoring - Removed OpenGL state mirroring code kearwood 2022-09-19 00:14:42 -07:00
  • 3376f3e4be Vulkan Refactoring - Eliminated KRTextureManager::_setActiveTexture and KRTextureManager::m_iActiveTexture kearwood 2022-09-19 00:07:41 -07:00
  • d50b7f7831 Vulkan Refactoring - Eliminated KRTextureManager::m_boundTextures and KRTextureManager::m_boundTextureHandles kearwood 2022-09-19 00:04:03 -07:00
  • be6c3a148e Vulkan Refactoring - Updated KRTextureManager::selectTexture call sites to use KRShader::setImageBinding kearwood 2022-09-18 23:59:08 -07:00
  • 9a84a3a07b Removed unused texture sampler binding for dust_particle shader kearwood 2022-09-18 23:28:28 -07:00
  • f4bd0d6340 Removing OpenGL code related to textures kearwood 2022-09-18 23:19:30 -07:00
  • 8306202cf1 WIP Creating structures in KRPipeline to cache descriptor set binding reflection data. Added stub function, KRPipeline::setImageBinding kearwood 2022-09-15 20:33:41 -07:00
  • 183f7057e2 Added KRPipeline::StageInfo to hold cached SPV reflection information used for dynamic descriptor set and push constant binding. kearwood 2022-09-15 20:10:25 -07:00
  • 327167c9b1 Expanded KRSurface::m_imageAvailableSemaphores and m_renderFinishedSemaphores to have one semaphore per frame in flight. (Missed files in prior commit) kearwood 2022-09-15 19:20:10 -07:00
  • cc4efe34e1 kMaxGraphicsCommandBuffers is now initialized to KRENGINE_MAX_FRAMES_IN_FLIGHT rather than using a magic number. kearwood 2022-09-15 19:18:54 -07:00
  • 4d0158c0ec Added KRSurface::m_inFlightFences. Now properly handling multiple frames in flight and waiting on fences when the CPU catches up. kearwood 2022-09-15 00:26:23 -07:00
  • 478669ed81 Expanded KRSurface::m_imageAvailableSemaphores and m_renderFinishedSemaphores to have one semaphore per frame in flight. kearwood 2022-09-14 23:59:52 -07:00
  • 5b70ce077d Add KRENGINE_MAX_FRAMES_IN_FLIGHT constant kearwood 2022-09-14 23:41:03 -07:00
  • 9b46917171 Added requirement for Vulkan SPV_EXT_descriptor_indexing extension. kearwood 2022-09-13 18:18:37 -07:00
  • 5ffc3d9b9b Refactor - DescriptorSet and DescriptorManager are now UniformBuffer and UniformBufferManager. kearwood 2022-09-13 18:18:25 -07:00
  • 175c4e2008 Add KRDescriptorManager and KRDescriptorSet classes with stub functions. kearwood 2022-09-13 17:31:41 -07:00
  • 5ed6b8eccd Push constants are now supported for all stages. kearwood 2022-09-09 00:38:46 -07:00
  • aeaed68efb Moved ShaderStage to KRShader and expanded to include all stages. Added mapping functions, getShaderStageFromExtension and getShaderStageFlagBitsFromShaderStage. KRShader::m_stage is now typed as ShaderStage. kearwood 2022-09-09 00:36:22 -07:00
  • f20f7f73d6 Centralized shader file sub-extension to shader stage mapping to KRShader. kearwood 2022-09-08 23:58:24 -07:00
  • e695bca3f9 Refactoring to rename uniform related functions and members to reflect that they are actually push constants after the Vulkan refactoring. kearwood 2022-09-07 23:48:46 -07:00
  • 10f9c17cf1 Now initializing VkDescriptorSetLayout for each pipeline using SPV reflection. kearwood 2022-09-07 22:33:07 -07:00