44055d1e6a
Replace ifdef guards with pragma once
2022-07-07 23:09:30 -07:00
c7f9277780
Update hydra
2022-07-07 23:08:54 -07:00
216cbe3eec
PipelineInfo::CullMode and PipelineInfo::RasterMode are no longer within the PipelineInfo class, enabling easier forward declaration.
...
KRMaterial::bind now accepts remaining parameters required to set up the pipeline.
Removed GL calls from KRModel.
Replaced ifdef guards with pragma once.
KRMesh::model_format_t changed to ModelFormat and is no longer within KRMesh, enabling easier forward declaration.
2022-07-07 22:51:16 -07:00
4f3b8ad584
KRMesh::renderSubmesh non-indexed format meshes now converted to Vulkan draw calls
2022-07-07 21:44:08 -07:00
7d36a0036c
Updated call sites to ensure that KRPipeline::setUniform calls are made before KRPipeline::bind calls.
...
Eliminated kraken::SetUniform helper functions, which are no longer used.
2022-07-07 21:37:10 -07:00
560f7da9e7
Implemented automatic binding of push constants at runtime using SPIRV-Reflection.
...
Replaced GL uniforms with Vulkan push constants.
2022-07-07 19:29:50 -07:00
88a1ca186b
Added KRMesh::isReady
...
Vulkan test code now uses KRMesh and asset ingestion pipeline for vertex and index data.
Updated Vulkan test shader to match KRMesh attribute layout.
2022-07-07 00:23:14 -07:00
e976e94da1
Added index buffer support to KRMeshManager::KRVBOData::bind
2022-07-06 23:51:43 -07:00
d2c8763fd9
Added KRMeshManager::GetMaxLODModel helper function.
...
Refactored KRMeshManager::GetModel call sites to use GetMaxLODModel where only the maximum LOD is used.
2022-07-06 23:42:47 -07:00
85b7b2cd31
(continued...)
...
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.
2022-07-06 23:11:00 -07:00
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.
2022-07-06 23:04:43 -07:00
b7e4415b16
Inlined, removed wrapper function KRPipelineManager::selectPipeline
2022-07-06 21:59:50 -07:00
8e9885b46c
WIP Inlining KRPipelineManager::selectPipeline wrapper function.
2022-07-05 22:22:48 -07:00
d76ce2090d
Eliminated one overload of KRPipelineManager::selectPipeline
...
Vulkan draw call refactoring
2022-07-05 22:08:05 -07:00
54e484bd71
Replacing glDraw commands with vkCmdDraw and populating PipelineInfo with vertex formats.
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.
2022-07-05 21:27:41 -07:00
ad64ab506a
Eliminated dead functions.
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
2022-07-04 22:08:05 -07:00
17113b59ea
Removing no longer needed OpenGL code.
2022-07-04 21:20:43 -07:00
943bbfda2f
Added PipelineInfo::CullMode
...
Replaced GL culling functions with CullMode pipeline option.
2022-07-04 20:49:46 -07:00
b801da7eb3
Blending and depth testing refactoring to Vulkan. Eliminating OpenGL state following.
2022-07-04 20:18:00 -07:00
2e371386cf
Added PipelineInfo::RasterMode::kOpaqueNoDepthWrite
...
Refactored additional GL depth and blending state to use RasterMode
2022-07-03 21:52:54 -07:00
44be42a4a8
VkPipelineColorBlendAttachmentState and VkPipelineDepthStencilStateCreateInfo are now driven by PipelineInfo::RasterMode
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.
2022-07-03 21:13:39 -07:00
13412cb5c5
Comment type-o
2022-07-03 20:54:23 -07:00
6bb2309d07
Fixed errors in comment describing PipelineInfo::RasterMode
2022-07-02 21:04:20 -07:00
8db6a4313f
Combined depth test and depth write modes into PipelineInfo.rasterMode.
2022-07-02 21:01:02 -07:00
d292c86b6e
Eliminated PipelineInfo.bAlphaBlend as it can be determined from rasterMode
2022-07-02 20:23:09 -07:00
d571bcbdc3
Refactor OpenGL alpha blending to use PipelineInfo.rasterMode
2022-07-02 20:07:11 -07:00
0f8feb669c
Fix Azure CI, MSVC CMake integration. Update configure batch script to VS 2022
2022-07-02 18:31:48 -07:00
d1b085ffb5
Moved PipelineInfo to KRPipeline.h
...
Added PipelineInfo::RasterMode
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
2022-04-06 01:00:13 -07:00
52c8ec2776
Reduced boilerplate needed to select and bind a KRPipeline
2022-04-05 22:25:19 -07:00
858064fa4b
Using KRPipelineManager::info struct to reduce number of parameters passed to KRPipelineManager::selectPipeline
2022-04-05 21:58:47 -07:00
9e0136f051
Updating call sites to use struct argument version of KRPipelineManager::getPipeline
2022-04-04 02:00:01 -07:00
de5d6e64aa
KRPipeline::getPipeline now accepts a struct to reduce argument count
2022-04-04 00:52:32 -07:00
56abe4425f
Remove KRStockGeometry as its now handled by KRMeshManager
2022-04-03 23:59:15 -07:00
1877049526
Replace GLFloat with float
...
Remove unimplemented function
2022-04-03 23:54:10 -07:00
2f104edf7c
Remove MacOS and IOS OpenGL code
2022-04-03 23:40:16 -07:00
99394820fc
Removed GLFW dependency
2022-04-03 23:31:27 -07:00
3784c0fc0b
Remove XCode Project and associated interfaces which no longer match current Kraken API
2022-04-03 23:23:06 -07:00
c49e177264
Removing RenderFrame parameters no longer needed with Vulkan and KRSurface
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.
2022-04-03 23:05:30 -07:00
b6922dc63f
License header year bump
2022-04-03 21:56:23 -07:00
f48fb5b14f
Vulkan Refactoring - Implemented KRSwapchain
2022-04-03 21:49:54 -07:00
c58487c00f
KRRenderPass now selected by KRCamera
2022-03-27 22:37:15 -07:00
5e8c9223ac
Moved frameIndex to KRSurface
2022-03-27 22:14:41 -07:00
36f804e176
Implemented KRRenderPass::begin and KRRenderPass::end
2022-03-27 21:56:45 -07:00
2818deb0e3
Vulkan Refactoring - Added KRRenderPass, WIP refactorign KRScene::RenderFrame
2022-03-27 21:34:19 -07:00
9bdfb0feea
Attached depth buffer to KRSurface and enabled depth testing in render pass
2022-03-01 23:53:42 -08:00