482c03f9bb
Implemented SkyBox texture change for KrCreateNode API.
2022-09-26 21:19:27 -07:00
272d3f89bc
Implemented helper functions in KRContext to simplify API endpoint input validation.
2022-09-24 00:31:37 -07:00
1bb7238502
KRNode::update is now fallible.
...
Added stub function, KRCamera::update.
2022-09-23 23:43:06 -07:00
a186095c47
Implemented transform setting for KrCreateNode API
2022-09-23 23:31:37 -07:00
77a03d53cc
Enabled KrCreateNode call in the hello_cube smoke test.
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.
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
7a14f5122c
Fixed compilation errors resulting from updated git submodules.
2022-09-21 18:33:56 -07:00
9eec4aafc7
git submodule updated
2022-09-21 18:28:50 -07:00
7a0b8cab34
Vulkan Refacatoring - Updated CMake project to no longer link OpenGL libraries
2022-09-21 18:22:26 -07:00
fa678505b7
Removed commented CMake lines for GLAD module
2022-09-21 18:20:36 -07:00
9f93941b1f
Removed GLAD git module
2022-09-21 18:20:11 -07:00
4be16e3ddc
Removed GLAD from CMake project
...
Replaced GL integer and size typedefs with native types.
2022-09-21 18:18:13 -07:00
d3912a9ffe
Vulkan refactoring - Replaced GLint with int.
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.
2022-09-21 17:53:06 -07:00
2a36e6a11e
Re-enable camera sky box draw call
2022-09-21 01:13:16 -07:00
4c8b8d5d35
Eliminated KRTexture::getHandle
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
2022-09-21 00:59:31 -07:00
6b93fcbf87
Eliminated unused variable
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
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
2022-09-21 00:11:48 -07:00
3ba80b1dd8
Implemented KRPipeline::bindDescriptorSets
2022-09-20 19:02:54 -07:00
3df8433205
Added KRPipeline::updateDescriptorSets
...
WIP creating and updating descriptor sets for KRPipeline binding.
2022-09-20 18:54:01 -07:00
5ab035b076
Implemented KRDevice::createDescriptorSets
2022-09-20 18:23:45 -07:00
ee091aa1fe
KRDevice now allocates a global descriptor pool per each device.
2022-09-20 18:12:18 -07:00
a3ee2845d1
Vulkan refactoring - Removed OpenGL state mirroring code
2022-09-19 00:14:42 -07:00
3376f3e4be
Vulkan Refactoring - Eliminated KRTextureManager::_setActiveTexture and KRTextureManager::m_iActiveTexture
2022-09-19 00:07:41 -07:00
d50b7f7831
Vulkan Refactoring - Eliminated KRTextureManager::m_boundTextures and KRTextureManager::m_boundTextureHandles
2022-09-19 00:04:03 -07:00
be6c3a148e
Vulkan Refactoring - Updated KRTextureManager::selectTexture call sites to use KRShader::setImageBinding
2022-09-18 23:59:08 -07:00
9a84a3a07b
Removed unused texture sampler binding for dust_particle shader
2022-09-18 23:28:28 -07:00
f4bd0d6340
Removing OpenGL code related to textures
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
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.
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)
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.
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.
2022-09-15 00:26:23 -07:00
478669ed81
Expanded KRSurface::m_imageAvailableSemaphores and m_renderFinishedSemaphores to have one semaphore per frame in flight.
2022-09-14 23:59:52 -07:00
5b70ce077d
Add KRENGINE_MAX_FRAMES_IN_FLIGHT constant
2022-09-14 23:41:03 -07:00
9b46917171
Added requirement for Vulkan SPV_EXT_descriptor_indexing extension.
2022-09-13 18:18:37 -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
5ed6b8eccd
Push constants are now supported for all stages.
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.
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
e695bca3f9
Refactoring to rename uniform related functions and members to reflect that they are actually push constants after the Vulkan refactoring.
2022-09-07 23:48:46 -07:00
10f9c17cf1
Now initializing VkDescriptorSetLayout for each pipeline using SPV reflection.
2022-09-07 22:33:07 -07:00
0d848bd53b
Now using more VkSamplerCreateInfo for hash generation.
2022-09-07 22:32:37 -07:00
414ec8ca81
Removed no longer relevant comment.
2022-08-30 00:38:10 -07:00