Commit Graph

87 Commits

Author SHA1 Message Date
2105e9359e Vulkan surface now initializing on MacOS
Updated Volk library
2024-01-11 23:05:13 -08:00
9953325775 Removing invalid platform check for Linux (#3) 2023-12-07 23:46:08 -08:00
b157b66d1a Moved mimir namespace to its own submodule 2023-08-05 17:15:55 -07:00
e485261e53 Refactor - rename KRDataBlock to mimir::Block 2023-08-05 16:37:16 -07:00
8845e19273 Bump copyright year. 2023-01-10 14:22:26 -08:00
80ecdb1f92 WIP KTX2 Format support 2022-10-03 22:21:49 -07:00
7722975dd0 Implemented KrUpdateNode API call. 2022-09-26 21:24:21 -07:00
272d3f89bc Implemented helper functions in KRContext to simplify API endpoint input validation. 2022-09-24 00:31:37 -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.
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
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)
2022-09-21 23:55:24 -07:00
3f4289ec08 Merged appendBeforeNode, appendAfterNode, appendFirstChildNode, and appendLastChildNode API calls into a single createNode call. 2022-09-21 23:38:49 -07:00
5ffc3d9b9b Refactor - DescriptorSet and DescriptorManager are now UniformBuffer and UniformBufferManager. 2022-09-13 18:18:25 -07:00
175c4e2008 Add KRDescriptorManager and KRDescriptorSet classes with stub functions. 2022-09-13 17:31:41 -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.
2022-09-09 00:36:22 -07:00
f20f7f73d6 Centralized shader file sub-extension to shader stage mapping to KRShader. 2022-09-08 23:58:24 -07:00
8594c7d4b1 Implemented KRSampler::destroy 2022-08-30 00:30:22 -07:00
6682cbdedd Implemented KRSampler::createSamplers 2022-08-30 00:18:47 -07:00
e318a5b4aa Added KRSamplerManager::DEFAULT_CLAMPED_SAMPLER and DEFAULT_WRAPPING_SAMPLER
Added KRSamplerManager::init
2022-08-25 00:00:55 -07:00
191167f9d3 Added KRSamplerManager::destroy() 2022-08-19 20:10:03 -07:00
42e8365751 Added KRSampler and KRSamplerManager classes. Marked stub functions to be implemented. 2022-08-18 17:57:11 -07:00
7433d54c16 Auto format C++ source 2022-08-08 01:07:26 -07:00
97b2889568 Vulkan refactoring - Removed OpenGL implementation for GL_EXT_texture_storage path.
Eliminated dead OpenGL code in KRContext.h
Removed GLenum argument from KRTexture2D::uploadTexture and all implementations.
2022-07-18 22:54:45 -07:00
e280ac486a Vertex data is now uploaded asynchronously, using staging buffers. 2022-07-12 00:48:53 -07:00
96e57d9344 Streaming thread now calling KRDebive::streamStart() and KRDevice::streamEnd(). 2022-07-12 00:41:37 -07:00
4bc44a8e52 Removed KRContext::getStreamingEnabled and KRContext::setStreamingEnabled, as streaming is always enabled in the runtime now. m_streamingEnabled remains as a signal that the managers have completed loading and that streaming should start. 2022-07-11 22:27:44 -07:00
b6922dc63f License header year bump 2022-04-03 21:56:23 -07:00
d093cc6f96 Removed KRMeshManager's first-frame hackery for loading static meshes. They now load systematically. 2022-01-21 23:32:00 -08:00
a178ed8bcc Hard-coded dummy values for streamer thread configuration. (To be replaced after Vulkan conversion)
Eliminated KRContext::KRENGINE_MAX_SHADER_HANDLES
2022-01-15 02:24:08 -08:00
42717276b5 Starting streamer thread 2021-08-17 01:49:30 -07:00
e046c1638a Remove dead code 2021-08-17 01:30:15 -07:00
f0b8dbbac5 Remove dead code 2021-08-17 01:25:53 -07:00
fc55a5d490 Session owned managers are now using std::unique_ptr 2021-08-17 01:22:18 -07:00
a3fc0d84d4 Implemented KRDeviceManager 2021-08-17 00:20:56 -07:00
f6b3845057 Added KRSurfaceManager 2021-08-16 23:36:05 -07:00
212cea794f Created KRPresentationThread 2021-08-16 22:52:26 -07:00
817cd32044 WIP Vulkan Pipeline refactoring 2021-08-16 22:04:02 -07:00
0e2bd45b7f Surface initialization and destruction moved to KRSurface 2021-08-16 19:51:15 -07:00
61a83dd28d Vulkan device initialization moved to KRDevice 2021-08-16 18:25:03 -07:00
748bd56b37 KRDevice refactoring WIP 2021-08-16 16:50:05 -07:00
d69699230a Updated HEaders 2021-08-16 16:35:36 -07:00
92e7dec2fa Refactored SurfaceInfo to KRSurface and DeviceInfo to KRDevice. Created new files for KRSurface and KRDevice. 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
2021-08-12 23:29:45 -07:00
1114210039 Create Vulkan semaphores for swapchain synchronization 2021-08-12 22:40:40 -07:00
0285e734bc Allocate Vulkan command buffers 2021-08-12 21:45:41 -07:00
9bc30e6937 Create vulkan command pools 2021-08-12 21:31:20 -07:00
3fff761bca Creating Vulkan framebufffers 2021-08-12 19:51:47 -07:00
12e476dc81 Surface handles are now indirect. 2021-08-12 00:45:57 -07:00
95a506e6bf Refactor Vulkan initialization, support multi-GPU 2021-08-11 17:46:26 -07:00
ce7ecbdd9a Compiling shaders to SPIR-V 1.5
WIP Vulkan Pipeline initialization
2021-08-10 20:13:32 -07:00