将VulkanRender代码移到SceneGraph中

This commit is contained in:
hyzboy 2020-11-26 18:04:57 +08:00
parent 4bd4a9b898
commit 6a678287d0
53 changed files with 169 additions and 168 deletions

View File

@ -34,7 +34,6 @@ SET(ULRE CMCore
CMAssetsManage
CMSceneGraph
ULRE.Util
ULRE.VulkanRender
ULRE.SceneGraph
MathGeoLib
${RENDER_LIBRARY}

View File

@ -311,29 +311,29 @@ public:
public:
/**
* (线)
*/
* (线)
*/
virtual void Backward(const float move_length)
{
Move(camera_direction*move_length/view_distance.y);
}
/**
* (线)
*/
* (线)
*/
virtual void Forward(const float move_length){Backward(-move_length);}
/**
* (线90)
*/
* (线90)
*/
virtual void Up(const float move_length)
{
Move(camera_up*move_length/view_distance.z);
}
/**
* (线90)
*/
* (线90)
*/
virtual void Down(const float move_length){Up(-move_length);}
virtual void Left(const float move_length)
@ -468,8 +468,8 @@ public:
Vector2f gap=mouse_pos-mouse_last_pos;
bool update=false;
if(gap.x!=0){update=true;if(mouse_key&mbLeft)camera->HoriRotate(-gap.x/10.0f);else camera->WrapHoriRotate(gap.x);}
if(gap.y!=0){update=true;if(mouse_key&mbLeft)camera->VertRotate( gap.y/10.0f);else camera->WrapVertRotate(gap.y);}
if(gap.x!=0){update=true;if(mouse_key&mbLeft)camera->HoriRotate( gap.x/10.0f);else camera->WrapHoriRotate(gap.x);}
if(gap.y!=0){update=true;if(mouse_key&mbLeft)camera->VertRotate(-gap.y/10.0f);else camera->WrapVertRotate(gap.y);}
mouse_last_pos=mouse_pos;
}

View File

@ -1,5 +1,4 @@
add_subdirectory(Util)
add_subdirectory(RenderDevice)
add_subdirectory(SceneGraph)
#add_subdirectory(Tools)
add_subdirectory(GUI)
add_subdirectory(GUI)

View File

@ -1,133 +0,0 @@
set(VK_INCLUDE_PATH ${ROOT_INCLUDE_PATH}/hgl/graph)
SET(VK_RR_SOURCE ${VK_INCLUDE_PATH}/VKRenderResource.h
VKRenderResource.cpp
VKRenderResourceMaterial.cpp)
SOURCE_GROUP("RenderResource" FILES ${VK_RR_SOURCE})
SET(VK_INST_SOURCE ${VK_INCLUDE_PATH}/VKInstance.h
VKInstance.cpp)
SET(VK_DEBUG_SOURCE ${VK_INCLUDE_PATH}/VKDebugOut.h
VKDebugOut.cpp)
SET(VK_MEMORY_SOURCE ${VK_INCLUDE_PATH}/VKMemory.h
${VK_INCLUDE_PATH}/VKBuffer.h
VKMemory.cpp
VKBuffer.cpp)
SET(VK_DEVICE_SOURCE ${VK_INCLUDE_PATH}/VKDevice.h
${VK_INCLUDE_PATH}/VKDeviceAttribute.h
VKDeviceAttribute.cpp
VKDeviceCreater.cpp
VKDevice.cpp
VKDeviceBuffer.cpp
VKDeviceImage.cpp
VKDeviceTexture.cpp
VKDeviceFramebuffer.cpp
VKDeviceSwapchain.cpp
VKDeviceRenderPass.cpp
VKDeviceRenderTarget.cpp)
SET(VK_PHYSICAL_DEVICE_SOURCE ${VK_INCLUDE_PATH}/VKPhysicalDevice.h
VKPhysicalDevice.cpp
VKProperties.cpp)
SOURCE_GROUP("Device" FILES ${VK_DEVICE_SOURCE})
SOURCE_GROUP("Device\\Debug" FILES ${VK_DEBUG_SOURCE})
SOURCE_GROUP("Device\\Instance" FILES ${VK_INST_SOURCE})
SOURCE_GROUP("Device\\Physical Device" FILES ${VK_PHYSICAL_DEVICE_SOURCE})
SOURCE_GROUP("Device\\Memory" FILES ${VK_MEMORY_SOURCE})
SET(VK_DESCRIPTOR_SETS_SOURCE ${VK_INCLUDE_PATH}/VKDescriptorSets.h
VKDescriptorSets.cpp
VKDescriptorSetLayoutCreater.cpp
VKDescriptorSetLayoutCreater.h)
SOURCE_GROUP("Descriptor Sets" FILES ${VK_DESCRIPTOR_SETS_SOURCE})
SET(VK_SHADER_SOURCE ${VK_INCLUDE_PATH}/VKShaderModule.h
${VK_INCLUDE_PATH}/VKShaderModuleMap.h
VKShaderModuleMap.cpp
VKShaderModule.cpp)
SET(VK_TEXTURE_SOURCE ${VK_INCLUDE_PATH}/VKImageView.h
${VK_INCLUDE_PATH}/VKTexture.h
${VK_INCLUDE_PATH}/VKTextureCreateInfo.h
${VK_INCLUDE_PATH}/VKSampler.h
VKSampler.cpp
VKImageView.cpp
VKTexture.cpp
VKTextureLoader.cpp)
SET(VK_MATERIAL_SOURCE ${VK_INCLUDE_PATH}/VKMaterial.h
${VK_INCLUDE_PATH}/VKMaterialInstance.h
VKMaterial.cpp
VKMaterialInstance.cpp)
SOURCE_GROUP("Material" FILES ${VK_MATERIAL_SOURCE})
SOURCE_GROUP("Material\\Texture" FILES ${VK_TEXTURE_SOURCE})
SOURCE_GROUP("Material\\Shader" FILES ${VK_SHADER_SOURCE})
SET(VK_RENDER_PASS_SOURCE ${VK_INCLUDE_PATH}/VKFramebuffer.h
${VK_INCLUDE_PATH}/VKPipeline.h
${VK_INCLUDE_PATH}/VKRenderPass.h
${VK_INCLUDE_PATH}/VKRenderTarget.h
${VK_INCLUDE_PATH}/VKSwapchain.h
${VK_INCLUDE_PATH}/VKSemaphore.h
${VK_INCLUDE_PATH}/VKFence.h
VKQueue.cpp
VKSemaphore.cpp
VKFence.cpp
VKFramebuffer.cpp
VKPipeline.cpp
VKPipelineCache.cpp
VKRenderPass.cpp
VKRenderTarget.cpp
VKRenderTargetPipeline.cpp
VKSwapchainRenderTarget.cpp
VKSwapchain.cpp
)
SOURCE_GROUP("Render Pass" FILES ${VK_RENDER_PASS_SOURCE})
SET(VK_CMD_BUFFER_SOURCE ${VK_INCLUDE_PATH}/VKCommandBuffer.h
VKCommandBuffer.cpp
VKCommandBufferRender.cpp)
SOURCE_GROUP("Command Buffer" FILES ${VK_CMD_BUFFER_SOURCE})
SET(VK_RENDERABLE_SOURCE ${VK_INCLUDE_PATH}/VKVertexAttributeBinding.h
${VK_INCLUDE_PATH}/VKRenderable.h
${VK_INCLUDE_PATH}/VKRenderableInstance.h
VKVertexAttributeBinding.cpp
VKRenderable.cpp
VKRenderableInstance.cpp
VKTileData.cpp
VKTileFont.cpp)
SOURCE_GROUP("Renderable" FILES ${VK_RENDERABLE_SOURCE})
IF(WIN32)
OPTION(FORCE_DISCETE_GPU "Force Discrete GPU" OFF)
IF(FORCE_DISCETE_GPU)
SET(RENDER_DEVICE_SOURCE ForceDiscreteGPU.c)
ENDIF()
ENDIF(WIN32)
add_cm_library(ULRE.VulkanRender "ULRE" ${VK_RR_SOURCE}
${VK_INST_SOURCE}
${VK_DEBUG_SOURCE}
${VK_MEMORY_SOURCE}
${VK_DEVICE_SOURCE}
${VK_PHYSICAL_DEVICE_SOURCE}
${VK_DESCRIPTOR_SETS_SOURCE}
${VK_SHADER_SOURCE}
${VK_TEXTURE_SOURCE}
${VK_MATERIAL_SOURCE}
${VK_RENDER_PASS_SOURCE}
${VK_CMD_BUFFER_SOURCE}
${VK_RENDERABLE_SOURCE}
${VK_RENDER_DEVICE_SOURCE})

View File

@ -1,7 +1,9 @@
SET(SHADER_RESOURCE_FILES ${ROOT_INCLUDE_PATH}/hgl/graph/shader/ShaderResource.h
set(SG_INCLUDE_PATH ${ROOT_INCLUDE_PATH}/hgl/graph)
SET(SHADER_RESOURCE_FILES ${SG_INCLUDE_PATH}/shader/ShaderResource.h
shader/ShaderResource.cpp)
file(GLOB SG_MATERIAL_HEADER ${ROOT_INCLUDE_PATH}/hgl/graph/material/*.*)
file(GLOB SG_MATERIAL_HEADER ${SG_INCLUDE_PATH}/material/*.*)
file(GLOB SG_MATERIAL_SOURCE material/*.*)
@ -10,30 +12,30 @@ SOURCE_GROUP("Material" FILES ${SG_MATERIAL_HEADER}
SOURCE_GROUP("Material\\Shader" FILES ${SHADER_RESOURCE_FILES})
SET(SG_TEXTURE_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/TextureLoader.h
SET(SG_TEXTURE_SOURCE ${SG_INCLUDE_PATH}/TextureLoader.h
Texture2DLoader.cpp)
SOURCE_GROUP("Material\\Texture" FILES ${SG_TEXTURE_SOURCE})
SET(SG_VAD_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/VertexAttribData.h
${ROOT_INCLUDE_PATH}/hgl/graph/VertexAttribDataAccess.h
SET(SG_VAD_SOURCE ${SG_INCLUDE_PATH}/VertexAttribData.h
${SG_INCLUDE_PATH}/VertexAttribDataAccess.h
VertexAttribData.cpp)
SOURCE_GROUP("VertexAttribData" FILES ${SG_VAD_SOURCE})
SET(TILE_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/TileData.h
SET(TILE_SOURCE ${SG_INCLUDE_PATH}/TileData.h
TileData.cpp)
SOURCE_GROUP("Tile" FILES ${TILE_SOURCE})
SET(SCENE_GRAPH_HEADER ${ROOT_INCLUDE_PATH}/hgl/graph/Light.h
${ROOT_INCLUDE_PATH}/hgl/graph/SceneNode.h
${ROOT_INCLUDE_PATH}/hgl/graph/SceneOrient.h
${ROOT_INCLUDE_PATH}/hgl/graph/RenderList.h
${ROOT_INCLUDE_PATH}/hgl/graph/InlineGeometry.h
#${ROOT_INCLUDE_PATH}/hgl/graph/Mesh.h
#${ROOT_INCLUDE_PATH}/hgl/graph/Material.h
#${ROOT_INCLUDE_PATH}/hgl/graph/Spline.h
SET(SCENE_GRAPH_HEADER ${SG_INCLUDE_PATH}/Light.h
${SG_INCLUDE_PATH}/SceneNode.h
${SG_INCLUDE_PATH}/SceneOrient.h
${SG_INCLUDE_PATH}/RenderList.h
${SG_INCLUDE_PATH}/InlineGeometry.h
#${SG_INCLUDE_PATH}/Mesh.h
#${SG_INCLUDE_PATH}/Material.h
#${SG_INCLUDE_PATH}/Spline.h
)
SET(SCENE_GRAPH_SOURCE RenderList.cpp
@ -46,28 +48,28 @@ SET(SCENE_GRAPH_SOURCE RenderList.cpp
#SceneFile.cpp
)
SET(RENDERABLE_FILES ${ROOT_INCLUDE_PATH}/hgl/graph/RenderableCreater.h
SET(RENDERABLE_FILES ${SG_INCLUDE_PATH}/RenderableCreater.h
RenderableCreater.cpp)
SOURCE_GROUP("Renderable" FILES ${RENDERABLE_FILES})
SET(FONT_MANAGE_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/font/Font.h
${ROOT_INCLUDE_PATH}/hgl/graph/font/FontManage.h
SET(FONT_MANAGE_SOURCE ${SG_INCLUDE_PATH}/font/Font.h
${SG_INCLUDE_PATH}/font/FontManage.h
font/Font.cpp)
SET(FONT_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/font/FontSource.h
SET(FONT_SOURCE ${SG_INCLUDE_PATH}/font/FontSource.h
font/FontSource.cpp
font/FontSourceSingle.cpp
font/FontSourceMulti.cpp
font/FontSourceManage.cpp)
SET(TILE_FONT_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/font/TileFont.h
SET(TILE_FONT_SOURCE ${SG_INCLUDE_PATH}/font/TileFont.h
font/TileFont.cpp)
SET(FONT_LAYOUT_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/font/TextLayout.h
SET(FONT_LAYOUT_SOURCE ${SG_INCLUDE_PATH}/font/TextLayout.h
font/TextLayout.cpp)
SET(TEXT_RENDERABLE_SOURCE ${ROOT_INCLUDE_PATH}/hgl/graph/font/TextRenderable.h
SET(TEXT_RENDERABLE_SOURCE ${SG_INCLUDE_PATH}/font/TextRenderable.h
font/TextRenderable.cpp)
SOURCE_GROUP("Font" FILES ${FONT_MANAGE_SOURCE})
@ -85,6 +87,138 @@ ENDIF(WIN32)
SOURCE_GROUP("Header Files" FILES ${SCENE_GRAPH_HEADER})
SOURCE_GROUP("Source Files" FILES ${SCENE_GRAPH_SOURCE})
SET(VK_RR_SOURCE ${SG_INCLUDE_PATH}/VKRenderResource.h
Vulkan/VKRenderResource.cpp
Vulkan/VKRenderResourceMaterial.cpp)
SOURCE_GROUP("Vulkan\\RenderResource" FILES ${VK_RR_SOURCE})
SET(VK_INST_SOURCE ${SG_INCLUDE_PATH}/VKInstance.h
Vulkan/VKInstance.cpp)
SET(VK_DEBUG_SOURCE ${SG_INCLUDE_PATH}/VKDebugOut.h
Vulkan/VKDebugOut.cpp)
SET(VK_MEMORY_SOURCE ${SG_INCLUDE_PATH}/VKMemory.h
${SG_INCLUDE_PATH}/VKBuffer.h
Vulkan/VKMemory.cpp
Vulkan/VKBuffer.cpp)
SET(VK_DEVICE_SOURCE ${SG_INCLUDE_PATH}/VKDevice.h
${SG_INCLUDE_PATH}/VKDeviceAttribute.h
Vulkan/VKDeviceAttribute.cpp
Vulkan/VKDeviceCreater.cpp
Vulkan/VKDevice.cpp
Vulkan/VKDeviceBuffer.cpp
Vulkan/VKDeviceImage.cpp
Vulkan/VKDeviceTexture.cpp
Vulkan/VKDeviceFramebuffer.cpp
Vulkan/VKDeviceSwapchain.cpp
Vulkan/VKDeviceRenderPass.cpp
Vulkan/VKDeviceRenderTarget.cpp)
SET(VK_PHYSICAL_DEVICE_SOURCE ${SG_INCLUDE_PATH}/VKPhysicalDevice.h
Vulkan/VKPhysicalDevice.cpp
Vulkan/VKProperties.cpp)
SOURCE_GROUP("Vulkan\\Device" FILES ${VK_DEVICE_SOURCE})
SOURCE_GROUP("Vulkan\\Device\\Debug" FILES ${VK_DEBUG_SOURCE})
SOURCE_GROUP("Vulkan\\Device\\Instance" FILES ${VK_INST_SOURCE})
SOURCE_GROUP("Vulkan\\Device\\Physical Device" FILES ${VK_PHYSICAL_DEVICE_SOURCE})
SOURCE_GROUP("Vulkan\\Device\\Memory" FILES ${VK_MEMORY_SOURCE})
SET(VK_DESCRIPTOR_SETS_SOURCE ${SG_INCLUDE_PATH}/VKDescriptorSets.h
Vulkan/VKDescriptorSets.cpp
Vulkan/VKDescriptorSetLayoutCreater.cpp
Vulkan/VKDescriptorSetLayoutCreater.h)
SOURCE_GROUP("Vulkan\\Descriptor Sets" FILES ${VK_DESCRIPTOR_SETS_SOURCE})
SET(VK_SHADER_SOURCE ${SG_INCLUDE_PATH}/VKShaderModule.h
${SG_INCLUDE_PATH}/VKShaderModuleMap.h
Vulkan/VKShaderModuleMap.cpp
Vulkan/VKShaderModule.cpp)
SET(VK_TEXTURE_SOURCE ${SG_INCLUDE_PATH}/VKImageView.h
${SG_INCLUDE_PATH}/VKTexture.h
${SG_INCLUDE_PATH}/VKTextureCreateInfo.h
${SG_INCLUDE_PATH}/VKSampler.h
Vulkan/VKSampler.cpp
Vulkan/VKImageView.cpp
Vulkan/VKTexture.cpp
Vulkan/VKTextureLoader.cpp)
SET(VK_MATERIAL_SOURCE ${SG_INCLUDE_PATH}/VKMaterial.h
${SG_INCLUDE_PATH}/VKMaterialInstance.h
Vulkan/VKMaterial.cpp
Vulkan/VKMaterialInstance.cpp)
SOURCE_GROUP("Vulkan\\Material" FILES ${VK_MATERIAL_SOURCE})
SOURCE_GROUP("Vulkan\\Material\\Texture" FILES ${VK_TEXTURE_SOURCE})
SOURCE_GROUP("Vulkan\\Material\\Shader" FILES ${VK_SHADER_SOURCE})
SET(VK_RENDER_PASS_SOURCE ${SG_INCLUDE_PATH}/VKFramebuffer.h
${SG_INCLUDE_PATH}/VKPipeline.h
${SG_INCLUDE_PATH}/VKRenderPass.h
${SG_INCLUDE_PATH}/VKRenderTarget.h
${SG_INCLUDE_PATH}/VKSwapchain.h
${SG_INCLUDE_PATH}/VKSemaphore.h
${SG_INCLUDE_PATH}/VKFence.h
Vulkan/VKQueue.cpp
Vulkan/VKSemaphore.cpp
Vulkan/VKFence.cpp
Vulkan/VKFramebuffer.cpp
Vulkan/VKPipeline.cpp
Vulkan/VKPipelineCache.cpp
Vulkan/VKRenderPass.cpp
Vulkan/VKRenderTarget.cpp
Vulkan/VKRenderTargetPipeline.cpp
Vulkan/VKSwapchainRenderTarget.cpp
Vulkan/VKSwapchain.cpp
)
SOURCE_GROUP("Vulkan\\Render Pass" FILES ${VK_RENDER_PASS_SOURCE})
SET(VK_CMD_BUFFER_SOURCE ${SG_INCLUDE_PATH}/VKCommandBuffer.h
Vulkan/VKCommandBuffer.cpp
Vulkan/VKCommandBufferRender.cpp)
SOURCE_GROUP("Vulkan\\Command Buffer" FILES ${VK_CMD_BUFFER_SOURCE})
SET(VK_RENDERABLE_SOURCE ${SG_INCLUDE_PATH}/VKVertexAttributeBinding.h
${SG_INCLUDE_PATH}/VKRenderable.h
${SG_INCLUDE_PATH}/VKRenderableInstance.h
Vulkan/VKVertexAttributeBinding.cpp
Vulkan/VKRenderable.cpp
Vulkan/VKRenderableInstance.cpp
Vulkan/VKTileData.cpp
Vulkan/VKTileFont.cpp)
SOURCE_GROUP("Vulkan\\Renderable" FILES ${VK_RENDERABLE_SOURCE})
IF(WIN32)
OPTION(FORCE_DISCETE_GPU "Force Discrete GPU" OFF)
IF(FORCE_DISCETE_GPU)
SET(RENDER_DEVICE_SOURCE ForceDiscreteGPU.c)
ENDIF()
ENDIF(WIN32)
SET(VULKAN_RENDER_SOURCE ${VK_RR_SOURCE}
${VK_INST_SOURCE}
${VK_DEBUG_SOURCE}
${VK_MEMORY_SOURCE}
${VK_DEVICE_SOURCE}
${VK_PHYSICAL_DEVICE_SOURCE}
${VK_DESCRIPTOR_SETS_SOURCE}
${VK_SHADER_SOURCE}
${VK_TEXTURE_SOURCE}
${VK_MATERIAL_SOURCE}
${VK_RENDER_PASS_SOURCE}
${VK_CMD_BUFFER_SOURCE}
${VK_RENDERABLE_SOURCE}
${VK_RENDER_DEVICE_SOURCE})
add_cm_library(ULRE.SceneGraph "ULRE" ${SCENE_GRAPH_HEADER}
${SCENE_GRAPH_SOURCE}
@ -103,4 +237,6 @@ add_cm_library(ULRE.SceneGraph "ULRE" ${SCENE_GRAPH_HEADER}
${FONT_SOURCE_OS}
${TILE_FONT_SOURCE}
${FONT_LAYOUT_SOURCE}
${TEXT_RENDERABLE_SOURCE})
${TEXT_RENDERABLE_SOURCE}
${VULKAN_RENDER_SOURCE})