Commit Graph

1052 Commits

Author SHA1 Message Date
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
8594c7d4b1 Implemented KRSampler::destroy 2022-08-30 00:30:22 -07:00
6682cbdedd Implemented KRSampler::createSamplers 2022-08-30 00:18:47 -07:00
0e5fee2d80 Implemented KRSampler::getSampler 2022-08-29 23:59:02 -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
9f245a9765 Implemented KRSamplerManager 2022-08-19 20:02:11 -07:00
5c75dc754a Fix build issue, removed unneeded stub function. 2022-08-18 19:05:24 -07:00
42e8365751 Added KRSampler and KRSamplerManager classes. Marked stub functions to be implemented. 2022-08-18 17:57:11 -07:00
cef2372ce8 Modernization - KRMesh::Submesh::vbo_data_blocks is now a vector<shared_ptr>. 2022-08-17 01:56:01 -07:00
2391ed9785 Modernization - KRMesh::m_submeshes now contains KRMesh::Submesh objects rather than pointers. Insertion done with emplace. 2022-08-16 20:08:30 -07:00
2085908017 Added KRShaderManager::Includer
Now able to include shaders from other shaders with GL_GOOGLE_include_directive.
Added vulkan_test_include.glsl and included it from vulkan_test.vert.
2022-08-15 19:48:59 -07:00
7433d54c16 Auto format C++ source 2022-08-08 01:07:26 -07:00
c5a640e22d Updated editorconfig with C++ code style 2022-08-08 00:21:57 -07:00
d3abb3ef0d Updated hydra library 2022-08-08 00:21:31 -07:00
f5855aeaec Corrected normals for KRMeshSphere so the sphere will have a smooth surface.
Disabled KRMesh::optimizeIndexes as it is crashing with certain meshes, such as those generated by KRMeshSphere
2022-08-08 00:09:02 -07:00
9b31914371 Added VS editorconfig for C++ formatting style 2022-08-07 23:56:20 -07:00
732560f732 Separate push constants can now be sent to vertex and fragment stages. 2022-08-06 00:14:21 -07:00
29d928ca29 Eliminated static_cast from KRPipeline::hasUniform
KRPipeline::setUniform now updates push constants for all stages
2022-08-05 23:44:46 -07:00
347a258c99 Fixed bug that caused indexed strip meshes to be changed to indexed triangle meshes when optimized. 2022-08-03 22:08:32 -07:00