submodules update

This commit is contained in:
hyzboy 2020-01-23 21:00:35 +08:00
parent 6a472780b3
commit 004e0037a4
27 changed files with 84 additions and 85 deletions

@ -1 +1 @@
Subproject commit 35058b7f881c2a2ad00bf21c083aa88a70277864 Subproject commit 85ffab5f6a19bfff3fc3588d4f1656b2664ca19a

@ -1 +1 @@
Subproject commit 74e1d564be1a9c2af21b3fc2e4ca319e23b6616a Subproject commit a100a10dc8750903e5bf3779c1f337f5a940910e

@ -1 +1 @@
Subproject commit 4ac904d834b45e6cb3edc1767726850615ca89ee Subproject commit d4087fe96c0acd43d376ec660bd5f1f351755448

2
CMCore

@ -1 +1 @@
Subproject commit 6107f34e21e5f104091d28b3db17e6cbeb7dc967 Subproject commit 25748fde9bdb02d8d1f857838d9e7111db4103a4

View File

@ -21,20 +21,22 @@ use_cm_module(AssetsManage)
if(CMAKE_SYSTEM_NAME STREQUAL "Windows") if(CMAKE_SYSTEM_NAME STREQUAL "Windows")
include_directories(${ULRE_3RDPTY_ROOT_PATH}/jsoncpp/include) include_directories(${ULRE_3RDPTY_ROOT_PATH}/jsoncpp/include)
add_subdirectory(3rdpty/jsoncpp) add_subdirectory(3rdpty/jsoncpp)
SET(JSONCPP_LIBRARY jsoncpp_lib)
ELSE()
SET(JSONCPP_LIBRARY jsoncpp)
ENDIF() ENDIF()
SET(ULRE CMCore SET(ULRE CMCore
CMPlatform CMPlatform
CMAssetsManage CMAssetsManage
ULRE.Util ULRE.Util
ULRE.Shader
ULRE.RenderDevice.Vulkan ULRE.RenderDevice.Vulkan
ULRE.SceneGraph ULRE.SceneGraph
MathGeoLib MathGeoLib
spirv-cross-core spirv-cross-core
SPIRV SPIRV
glslang glslang
jsoncpp_lib ${JSONCPP_LIBRARY}
${RENDER_LIBRARY} ${RENDER_LIBRARY}
${Vulkan_LIBRARIES}) ${Vulkan_LIBRARIES})
@ -58,9 +60,7 @@ add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/glslang)
include_directories(${SPIRV_CROSS_PATH}/external/glslang) include_directories(${SPIRV_CROSS_PATH}/external/glslang)
add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/SPIRV) add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/SPIRV)
if(WIN32)
add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/OGLCompilersDLL) add_subdirectory(${SPIRV_CROSS_PATH}/external/glslang/OGLCompilersDLL)
endif()
SET(ULRE_RUNTIME_PATH ${CMAKE_CURRENT_SOURCE_DIR}) SET(ULRE_RUNTIME_PATH ${CMAKE_CURRENT_SOURCE_DIR})

View File

@ -76,7 +76,7 @@ private:
ubo_mvp=device->CreateUBO(sizeof(WorldMatrix),&cam.matrix); ubo_mvp=device->CreateUBO(sizeof(WorldMatrix),&cam.matrix);
if(!ubo_mvp) if(!ubo_mvp)
return(nullptr); return(false);
material_instance->BindUBO("world",ubo_mvp); material_instance->BindUBO("world",ubo_mvp);
material_instance->BindUBO("fragment_world",ubo_mvp); material_instance->BindUBO("fragment_world",ubo_mvp);

View File

@ -93,8 +93,6 @@ public:
return(false); return(false);
#endif// #endif//
InitDefaultShaderBuildResource();
InitNativeWindowSystem(); InitNativeWindowSystem();
VK_NAMESPACE::InitVulkanProperties(); VK_NAMESPACE::InitVulkanProperties();

View File

@ -91,8 +91,8 @@ MATERIAL_NAMESPACE_BEGIN
#undef MATERIAL_DATA_FORMAT_DEFINE #undef MATERIAL_DATA_FORMAT_DEFINE
};//enum class DataFormat };//enum class DataFormat
inline const ComponentDataType GetFormatBaseType (const enum class DataFormat &df){return ComponentDataType(uint(df)>>4);} inline const ComponentDataType GetFormatBaseType (const DataFormat &df){return ComponentDataType(uint(df)>>4);}
inline const uint GetFormatChannels (const enum class DataFormat &df){return uint(df)&7;} inline const uint GetFormatChannels (const DataFormat &df){return uint(df)&7;}
using ComponentBitsConfig=uint32; using ComponentBitsConfig=uint32;
@ -110,6 +110,6 @@ MATERIAL_NAMESPACE_BEGIN
bool LinearColorspace; ///<是要求线性颜色空间 bool LinearColorspace; ///<是要求线性颜色空间
};//struct ComponentConfig };//struct ComponentConfig
const ComponentConfig *GetConfig(const enum class Component c); const ComponentConfig *GetConfig(const Component c);
MATERIAL_NAMESPACE_END MATERIAL_NAMESPACE_END
#endif//HGL_GRAPH_MATERIAL_COMPONENT_INCLUDE #endif//HGL_GRAPH_MATERIAL_COMPONENT_INCLUDE

View File

@ -41,7 +41,7 @@ protected:
protected: protected:
NodeList node_list[node::NodeType::NODE_TYPE_RANGE_SIZE]; NodeList node_list[(size_t)node::NodeType::NODE_TYPE_RANGE_SIZE];
uint in_location=0; uint in_location=0;
uint out_location=0; uint out_location=0;

View File

@ -49,7 +49,11 @@ public:
virtual bool Join(node::Node *,param::OutputParam *); ///<增加一个关联节点 virtual bool Join(node::Node *,param::OutputParam *); ///<增加一个关联节点
virtual void Break(){join_node=nullptr;join_param=nullptr;} ///<断开一个关联节点 virtual void Break(){join_node=nullptr;join_param=nullptr;} ///<断开一个关联节点
virtual bool Check(){return(must_join?join_param:true);} ///<检测当前节点是否可用 virtual bool Check() ///<检测当前节点是否可用
{
if(must_join&&!join_param)return(false);
return true;
}
};//class InputParam:public Param };//class InputParam:public Param
SHADER_PARAM_NAMESPACE_END SHADER_PARAM_NAMESPACE_END
#endif//#ifndef HGL_GRAPH_SHADER_PARAM_INPUT_INCLUDE #endif//#ifndef HGL_GRAPH_SHADER_PARAM_INPUT_INCLUDE

View File

@ -164,7 +164,7 @@ VK_NAMESPACE_BEGIN
/** /**
* Type of data bytes/pixel Palette size Line Segments User For Compressed components/Description * Type of data bytes/pixel Palette size Line Segments User For Compressed components/Description
* ----------------+----------------+--------------+-----------------+--------------------+----------------------------------------------------+-------------------------------------- * ---------------+----------------+---------------+-----------------+-------------------+-----------------------------+--------------------------------------
* BC1(S3TC1) RGB5/RGB5A1 0.5 4 1 Color maps,Normal maps * BC1(S3TC1) RGB5/RGB5A1 0.5 4 1 Color maps,Normal maps
* BC2(S3TC3) RGBA4 1 4 1 BC1+uncompress 4-bit alpha * BC2(S3TC3) RGBA4 1 4 1 BC1+uncompress 4-bit alpha
* BC3(S3TC5) RGBA4 1 4 1 Color+1Alpha Color maps BC1+BC4 compress alpha * BC3(S3TC5) RGBA4 1 4 1 Color+1Alpha Color maps BC1+BC4 compress alpha
@ -183,7 +183,7 @@ VK_NAMESPACE_BEGIN
* PVRTC2 RGB/RGBA1/RGBA * PVRTC2 RGB/RGBA1/RGBA
* *
* ASTC R/RG/RGB/RGBA * ASTC R/RG/RGB/RGBA
* ----------------+----------------+--------------+-----------------+--------------------+----------------------------------------------------+ * ---------------+----------------+---------------+-----------------+-------------------+-----------------------------+--------------------------------------
*/ */
#define FMT_BC1_RGBUN VK_FORMAT_BC1_RGB_UNORM_BLOCK #define FMT_BC1_RGBUN VK_FORMAT_BC1_RGB_UNORM_BLOCK

View File

@ -62,21 +62,7 @@ public:
~RenderpassCreater()=default; ~RenderpassCreater()=default;
int AddSwapchainImage() int AddSwapchainImage();
{
VkAttachmentDescription desc;
desc.format = device->GetSurfaceFormat();
desc.samples = VK_SAMPLE_COUNT_1_BIT;
desc.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
desc.storeOp = VK_ATTACHMENT_STORE_OP_STORE;
desc.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
desc.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
desc.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
desc.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
return atta_desc_list.Add(desc);
}
};//class RenderpassCreater };//class RenderpassCreater
VK_NAMESPACE_END VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_RENDER_PASS_INCLUDE #endif//HGL_GRAPH_VULKAN_RENDER_PASS_INCLUDE

View File

@ -24,7 +24,7 @@ public:
SubmitQueue(Device *dev,VkQueue q,const uint32_t fence_count=1); SubmitQueue(Device *dev,VkQueue q,const uint32_t fence_count=1);
virtual ~SubmitQueue(); virtual ~SubmitQueue();
bool Wait(const bool wait_wall=true,const uint64 time_out=HGL_NANO_SEC_PER_SEC); bool Wait(const bool wait_wall=true,const uint64_t time_out=HGL_NANO_SEC_PER_SEC);
bool Submit(const VkCommandBuffer &cmd_buf,vulkan::Semaphore *wait_sem,vulkan::Semaphore *complete_sem); bool Submit(const VkCommandBuffer &cmd_buf,vulkan::Semaphore *wait_sem,vulkan::Semaphore *complete_sem);
bool Submit(const VkCommandBuffer *cmd_buf,const uint32_t count,vulkan::Semaphore *wait_sem,vulkan::Semaphore *complete_sem); bool Submit(const VkCommandBuffer *cmd_buf,const uint32_t count,vulkan::Semaphore *wait_sem,vulkan::Semaphore *complete_sem);
};//class SumbitQueue };//class SumbitQueue

View File

@ -1,2 +1 @@
add_subdirectory(Vulkan) add_subdirectory(Vulkan)
add_subdirectory(Shader)

View File

@ -3,7 +3,7 @@
SHADER_PARAM_NAMESPACE_BEGIN SHADER_PARAM_NAMESPACE_BEGIN
const char *GetTypename(const ParamType pt) const char *GetTypename(const ParamType pt)
{ {
constexpr char *name[]= const char *name[]=
{ {
"?boolean?", "?boolean?",
"?float?", "?float?",

View File

@ -42,8 +42,8 @@ SET(RENDER_DEVICE_VULKAN_SOURCE VKFormat.cpp
VKRenderable.cpp VKRenderable.cpp
VKSampler.cpp) VKSampler.cpp)
SET(RENDER_DEVICE_VULKAN_POD_SOURCE pod/VKPipelineCreateInfo.POD.cpp SET(RENDER_DEVICE_VULKAN_POD_SOURCE POD/VKPipelineCreateInfo.POD.cpp
pod/VKTextureLoader.cpp) POD/VKTextureLoader.cpp)
SOURCE_GROUP("Device" FILES ${VK_DEVICE_SOURCE}) SOURCE_GROUP("Device" FILES ${VK_DEVICE_SOURCE})
SOURCE_GROUP("Descriptor Sets" FILES ${VK_DESCRIPTOR_SETS_SOURCE}) SOURCE_GROUP("Descriptor Sets" FILES ${VK_DESCRIPTOR_SETS_SOURCE})

View File

@ -140,7 +140,7 @@ bool LoadFromFile(const OSString &filename,VK_NAMESPACE::PipelineCreater *pc)
if(filename.IsEmpty()||!pc) if(filename.IsEmpty()||!pc)
return(false); return(false);
void *data; char *data;
uint size=filesystem::LoadFileToMemory(filename,(void **)&data); uint size=filesystem::LoadFileToMemory(filename,(void **)&data);
bool result=pc->LoadFromMemory((uchar *)data,size); bool result=pc->LoadFromMemory((uchar *)data,size);

View File

@ -7,10 +7,8 @@
#include<hgl/graph/vulkan/VKTexture.h> #include<hgl/graph/vulkan/VKTexture.h>
#include<hgl/graph/vulkan/VKDevice.h> #include<hgl/graph/vulkan/VKDevice.h>
#ifdef _DEBUG
#include<iostream> #include<iostream>
#include<iomanip> #include<iomanip>
#endif//_DEBUG
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
Swapchain *CreateSwapchain(const DeviceAttribute *attr,const VkExtent2D &acquire_extent); Swapchain *CreateSwapchain(const DeviceAttribute *attr,const VkExtent2D &acquire_extent);

View File

@ -218,7 +218,7 @@ RenderPass *Device::CreateRenderPass( const List<VkAttachmentDescription> &des
{ {
if(!attr->physical_device->IsColorAttachmentOptimal(*cf) if(!attr->physical_device->IsColorAttachmentOptimal(*cf)
&&!attr->physical_device->IsColorAttachmentLinear(*cf)) &&!attr->physical_device->IsColorAttachmentLinear(*cf))
return(false); return(nullptr);
++cf; ++cf;
} }
@ -226,7 +226,7 @@ RenderPass *Device::CreateRenderPass( const List<VkAttachmentDescription> &des
if(!attr->physical_device->IsDepthAttachmentOptimal(depth_format) if(!attr->physical_device->IsDepthAttachmentOptimal(depth_format)
&&!attr->physical_device->IsDepthAttachmentLinear(depth_format)) &&!attr->physical_device->IsDepthAttachmentLinear(depth_format))
return(false); return(nullptr);
VkRenderPassCreateInfo rp_info; VkRenderPassCreateInfo rp_info;
rp_info.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO; rp_info.sType = VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO;
@ -250,10 +250,10 @@ RenderPass *Device::CreateRenderPass( const List<VkAttachmentDescription> &des
RenderPass *Device::CreateRenderPass(VkFormat color_format,VkFormat depth_format,VkImageLayout color_final_layout,VkImageLayout depth_final_layout) const RenderPass *Device::CreateRenderPass(VkFormat color_format,VkFormat depth_format,VkImageLayout color_final_layout,VkImageLayout depth_final_layout) const
{ {
if(!attr->physical_device->IsColorAttachmentOptimal(color_format)) if(!attr->physical_device->IsColorAttachmentOptimal(color_format))
return(false); return(nullptr);
if(!attr->physical_device->IsDepthAttachmentOptimal(depth_format)) if(!attr->physical_device->IsDepthAttachmentOptimal(depth_format))
return(false); return(nullptr);
List<VkAttachmentReference> color_ref; List<VkAttachmentReference> color_ref;
VkAttachmentReference depth_ref; VkAttachmentReference depth_ref;

View File

@ -76,10 +76,7 @@ bool Device::CreateSwapchainColorTexture()
AutoDeleteArray<VkImage> sc_images=new VkImage[swapchain->swap_chain_count]; AutoDeleteArray<VkImage> sc_images=new VkImage[swapchain->swap_chain_count];
if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),sc_images)!=VK_SUCCESS) if(vkGetSwapchainImagesKHR(attr->device,swapchain->swap_chain,&(swapchain->swap_chain_count),sc_images)!=VK_SUCCESS)
{
delete sc_images;
return(false); return(false);
}
VkImage *ip=sc_images; VkImage *ip=sc_images;
Texture2D *tex; Texture2D *tex;

View File

@ -7,7 +7,7 @@ Memory *Device::CreateMemory(const VkMemoryRequirements &req,uint32_t properties
uint32_t index; uint32_t index;
if(!attr->physical_device->CheckMemoryType(req.memoryTypeBits,properties,&index)) if(!attr->physical_device->CheckMemoryType(req.memoryTypeBits,properties,&index))
return(false); return(nullptr);
VkMemoryAllocateInfo alloc_info; VkMemoryAllocateInfo alloc_info;

View File

@ -1,7 +1,24 @@
#include<hgl/graph/vulkan/VKRenderPass.h> #include<hgl/graph/vulkan/VKRenderPass.h>
#include<hgl/graph/vulkan/VKDevice.h>
VK_NAMESPACE_BEGIN VK_NAMESPACE_BEGIN
RenderPass::~RenderPass() RenderPass::~RenderPass()
{ {
vkDestroyRenderPass(device,render_pass,nullptr); vkDestroyRenderPass(device,render_pass,nullptr);
} }
int RenderpassCreater::AddSwapchainImage()
{
VkAttachmentDescription desc;
desc.format = device->GetSurfaceFormat();
desc.samples = VK_SAMPLE_COUNT_1_BIT;
desc.loadOp = VK_ATTACHMENT_LOAD_OP_CLEAR;
desc.storeOp = VK_ATTACHMENT_STORE_OP_STORE;
desc.stencilLoadOp = VK_ATTACHMENT_LOAD_OP_DONT_CARE;
desc.stencilStoreOp = VK_ATTACHMENT_STORE_OP_DONT_CARE;
desc.initialLayout = VK_IMAGE_LAYOUT_UNDEFINED;
desc.finalLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
return atta_desc_list.Add(desc);
}
VK_NAMESPACE_END VK_NAMESPACE_END

View File

@ -66,8 +66,8 @@ const ShaderModule *ShaderModuleManage::CreateShader(const VkShaderStageFlagBits
const ShaderModule *ShaderModuleManage::CreateShader(const VkShaderStageFlagBits shader_stage_bit,const OSString &filename) const ShaderModule *ShaderModuleManage::CreateShader(const VkShaderStageFlagBits shader_stage_bit,const OSString &filename)
{ {
void *spv_data; char *spv_data;
int64 spv_size=hgl::filesystem::LoadFileToMemory(filename,&spv_data); int64 spv_size=hgl::filesystem::LoadFileToMemory(filename,(void **)&spv_data);
if(spv_size<=0) if(spv_size<=0)
return(nullptr); return(nullptr);

View File

@ -1194,7 +1194,7 @@ namespace hgl
GeometryCreater3D gc(db,mtl); GeometryCreater3D gc(db,mtl);
if(!gc.Init(6)) if(!gc.Init(6))
return(false); return(nullptr);
VB3f *vertex=gc.GetVertex(); VB3f *vertex=gc.GetVertex();
VB4f *color=gc.GetColor(); VB4f *color=gc.GetColor();
@ -1239,7 +1239,7 @@ namespace hgl
GeometryCreater3D gc(db,mtl); GeometryCreater3D gc(db,mtl);
if(!gc.Init(8)) if(!gc.Init(8))
return(false); return(nullptr);
VB3f *vertex=gc.GetVertex(); VB3f *vertex=gc.GetVertex();

View File

@ -1,9 +1,9 @@
#include<hgl/graph/Mesh.h> #include<hgl/graph/Mesh.h>
#include<hgl/graph/Material.h> #include<hgl/graph/Material.h>
#include<hgl/graph/VertexBuffer.h> #include<hgl/graph/VertexBuffer.h>
#include<hgl/io/FileInputStream.h> #include<hgl/io/FileInputStream.h>
#include<hgl/io/DataInputStream.h> #include<hgl/io/DataInputStream.h>
#include<hgl/LogInfo.h> #include<hgl/log/LogInfo.h>
namespace hgl namespace hgl
{ {

View File

@ -1,11 +1,11 @@
#include<hgl/graph/SceneDB.h> #include<hgl/graph/SceneDB.h>
#include<hgl/graph/SceneNode.h> #include<hgl/graph/SceneNode.h>
#include<hgl/graph/Material.h> #include<hgl/graph/Material.h>
#include<hgl/graph/Mesh.h> #include<hgl/graph/Mesh.h>
#include<hgl/io/FileInputStream.h> #include<hgl/io/FileInputStream.h>
#include<hgl/io/DataInputStream.h> #include<hgl/io/DataInputStream.h>
#include<hgl/filesystem/FileSystem.h> #include<hgl/filesystem/FileSystem.h>
#include<hgl/LogInfo.h> #include<hgl/log/LogInfo.h>
namespace hgl namespace hgl
{ {

View File

@ -32,7 +32,7 @@ MATERIAL_NAMESPACE_BEGIN
}; };
};//namespace };//namespace
const ComponentConfig *GetConfig(const enum class Component c) const ComponentConfig *GetConfig(const Component c)
{ {
if(c<=Component::BEGIN_RANGE if(c<=Component::BEGIN_RANGE
||c>=Component::END_RANGE)return(nullptr); ||c>=Component::END_RANGE)return(nullptr);