remove vulkan namespace

This commit is contained in:
hyzboy 2020-10-21 12:47:06 +08:00
parent 0e56a6b00c
commit c8955b6f35
45 changed files with 266 additions and 266 deletions

@ -1 +1 @@
Subproject commit 0f92de76507348b9a5a5cdd80a51406bfae00ddd
Subproject commit 8d75c2dbfde480c2e8e736c66d9864ca44f64392

View File

@ -35,13 +35,13 @@ private:
Camera cam;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_color_material =nullptr;
vulkan::GPUBuffer * ubo_line_config =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
GPUBuffer * ubo_color_material =nullptr;
GPUBuffer * ubo_line_config =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -61,9 +61,9 @@ private:
return(true);
}
vulkan::GPUBuffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
GPUBuffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
{
vulkan::GPUBuffer *ubo=db->CreateUBO(size,data);
GPUBuffer *ubo=db->CreateUBO(size,data);
if(!ubo)
return(nullptr);
@ -97,7 +97,7 @@ private:
bool InitVBO()
{
vulkan::Renderable *render_obj=db->CreateRenderable(VERTEX_COUNT);
Renderable *render_obj=db->CreateRenderable(VERTEX_COUNT);
if(!render_obj)return(false);
if(!render_obj->Set(VAN::Position, db->CreateVAB(VAF_VEC2,VERTEX_COUNT,vertex_data)))return(false);

View File

@ -37,13 +37,13 @@ private:
SceneNode render_root;
RenderList render_list;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Pipeline * pipeline_solid =nullptr;
MaterialInstance * material_instance =nullptr;
Pipeline * pipeline_solid =nullptr;
vulkan::GPUBuffer * ubo_atomsphere =nullptr;
GPUBuffer * ubo_atomsphere =nullptr;
AtmosphereData atomsphere_data;
vulkan::Renderable * ro_sphere =nullptr;
Renderable * ro_sphere =nullptr;
private:
@ -53,7 +53,7 @@ private:
if(!material_instance)return(false);
// pipeline_solid=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/sky"));
pipeline_solid=CreatePipeline(material_instance,vulkan::InlinePipeline::Sky); //等同上一行为Framework重载默认使用swapchain的render target
pipeline_solid=CreatePipeline(material_instance,InlinePipeline::Sky); //等同上一行为Framework重载默认使用swapchain的render target
if(!pipeline_solid)return(false);
return(true);

View File

@ -22,7 +22,7 @@ VK_NAMESPACE_END
constexpr uint32_t SCREEN_WIDTH=512;
constexpr uint32_t SCREEN_HEIGHT=512;
using Texture2DPointer=vulkan::Texture2D *;
using Texture2DPointer=Texture2D *;
class TestApp:public CameraAppFramework
{
@ -31,20 +31,20 @@ private:
SceneNode render_root;
RenderList render_list;
vulkan::RenderTarget *gbuffer_rt;
RenderTarget *gbuffer_rt;
struct SubpassParam
{
vulkan::Material * material;
vulkan::MaterialInstance * material_instance;
vulkan::Pipeline * pipeline_fan;
vulkan::Pipeline * pipeline_triangles;
Material * material;
MaterialInstance * material_instance;
Pipeline * pipeline_fan;
Pipeline * pipeline_triangles;
};//
SubpassParam sp_gbuffer;
SubpassParam sp_composition;
vulkan::Renderable *ro_plane,
Renderable *ro_plane,
*ro_cube,
*ro_sphere,
*ro_torus,
@ -53,7 +53,7 @@ private:
*ro_gbc_plane;
vulkan::Sampler * sampler=nullptr;
Sampler * sampler=nullptr;
struct
{
@ -61,7 +61,7 @@ private:
Texture2DPointer normal=nullptr;
}texture;
vulkan::GPUCmdBuffer *gbuffer_cmd=nullptr;
GPUCmdBuffer *gbuffer_cmd=nullptr;
public:
@ -101,18 +101,18 @@ private:
bool InitGBufferPipeline(SubpassParam *sp)
{
sp->pipeline_triangles =db->CreatePipeline(sp->material,gbuffer_rt,vulkan::InlinePipeline::Solid3D,Prim::Triangles);
sp->pipeline_triangles =db->CreatePipeline(sp->material,gbuffer_rt,InlinePipeline::Solid3D,Prim::Triangles);
if(!sp->pipeline_triangles)
return(false);
sp->pipeline_fan =db->CreatePipeline(sp->material,gbuffer_rt,vulkan::InlinePipeline::Solid3D,Prim::Fan);
sp->pipeline_fan =db->CreatePipeline(sp->material,gbuffer_rt,InlinePipeline::Solid3D,Prim::Fan);
return sp->pipeline_fan;
}
bool InitCompositionPipeline(SubpassParam *sp)
{
sp->pipeline_fan=db->CreatePipeline(sp->material,gbuffer_rt,vulkan::InlinePipeline::Solid2D,Prim::Fan);
sp->pipeline_fan=db->CreatePipeline(sp->material,gbuffer_rt,InlinePipeline::Solid2D,Prim::Fan);
return sp->pipeline_fan;
}
@ -125,8 +125,8 @@ private:
if(!InitGBufferPipeline(&sp_gbuffer))return(false);
if(!InitCompositionPipeline(&sp_composition))return(false);
texture.color =vulkan::CreateTextureFromFile(device,OS_TEXT("res/image/Brickwall/Albedo.Tex2D"));
texture.normal =vulkan::CreateTextureFromFile(device,OS_TEXT("res/image/Brickwall/Normal.Tex2D"));
texture.color =CreateTextureFromFile(device,OS_TEXT("res/image/Brickwall/Albedo.Tex2D"));
texture.normal =CreateTextureFromFile(device,OS_TEXT("res/image/Brickwall/Normal.Tex2D"));
sampler=device->CreateSampler();
@ -144,7 +144,7 @@ private:
return(true);
}
void CreateRenderObject(vulkan::Material *mtl)
void CreateRenderObject(Material *mtl)
{
{
struct PlaneCreateInfo pci;

View File

@ -26,12 +26,12 @@ class TestApp:public VulkanApplicationFramework
private:
vulkan::Sampler * sampler =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_color =nullptr;
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
GPUBuffer * ubo_color =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -59,7 +59,7 @@ private:
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/LumTextureRect2D"));
if(!material_instance)return(false);
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D,Prim::Rectangles);
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Rectangles);
if(!pipeline)return(false);
sampler=db->CreateSampler();

View File

@ -38,13 +38,13 @@ class TestApp:public VulkanApplicationFramework
private:
vulkan::Sampler * sampler =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Renderable * render_obj =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
Renderable * render_obj =nullptr;
RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
public:
@ -150,7 +150,7 @@ private:
if(!material_instance)
return(false);
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D,Prim::Rectangles);
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Rectangles);
sampler=db->CreateSampler();

View File

@ -26,11 +26,11 @@ private:
Camera cam;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -41,7 +41,7 @@ private:
if(!material_instance)
return(false);
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D,Prim::TriangleStrip);
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::TriangleStrip);
if(!pipeline)
return(false);

View File

@ -28,17 +28,17 @@ private:
SceneNode render_root;
RenderList render_list;
vulkan::Material * material =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
Material * material =nullptr;
MaterialInstance * material_instance =nullptr;
vulkan::Renderable *ro_rectangle =nullptr,
Renderable *ro_rectangle =nullptr,
*ro_circle =nullptr,
*ro_round_rectangle =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::GPUBuffer * ubo_color_material =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
GPUBuffer * ubo_color_material =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -52,7 +52,7 @@ private:
if(!material_instance)return(false);
pipeline=CreatePipeline(material,vulkan::InlinePipeline::Solid2D,Prim::Fan);
pipeline=CreatePipeline(material,InlinePipeline::Solid2D,Prim::Fan);
return pipeline;
}
@ -92,9 +92,9 @@ private:
}
}
vulkan::GPUBuffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
GPUBuffer *CreateUBO(const AnsiString &name,const VkDeviceSize size,void *data)
{
vulkan::GPUBuffer *ubo=db->CreateUBO(size,data);
GPUBuffer *ubo=db->CreateUBO(size,data);
if(!ubo)
return(nullptr);

View File

@ -16,7 +16,7 @@ class TestApp:public CameraAppFramework
{
Color4f color;
vulkan::GPUBuffer *ubo_color=nullptr;
GPUBuffer *ubo_color=nullptr;
private:
@ -25,12 +25,12 @@ private:
struct MDP
{
vulkan::Material * material =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Material * material =nullptr;
MaterialInstance * material_instance =nullptr;
Pipeline * pipeline =nullptr;
}m3d,m2d;
vulkan::Renderable *ro_plane_grid[3],
Renderable *ro_plane_grid[3],
*ro_round_rectangle =nullptr;
private:
@ -43,7 +43,7 @@ private:
mdp->material_instance=db->CreateMaterialInstance(mdp->material);
if(!mdp->material_instance)return(false);
mdp->pipeline=CreatePipeline(mdp->material_instance,vulkan::InlinePipeline::Solid3D,primitive);
mdp->pipeline=CreatePipeline(mdp->material_instance,InlinePipeline::Solid3D,primitive);
if(!mdp->material_instance->BindUBO("world",GetCameraMatrixBuffer()))
return(false);
@ -52,14 +52,14 @@ private:
return(true);
}
void Add(vulkan::Renderable *r,MDP &mdp)
void Add(Renderable *r,MDP &mdp)
{
auto ri=db->CreateRenderableInstance(r,mdp.material_instance,mdp.pipeline);
render_root.Add(ri);
}
void Add(vulkan::Renderable *r,MDP &mdp,const Matrix4f &mat)
void Add(Renderable *r,MDP &mdp,const Matrix4f &mat)
{
auto ri=db->CreateRenderableInstance(r,mdp.material_instance,mdp.pipeline);

View File

@ -45,28 +45,28 @@ class TestApp:public VulkanApplicationFramework
{
private:
vulkan::PipelineData * pipeline_data =nullptr;
vulkan::Renderable * render_obj =nullptr;
vulkan::Sampler * sampler_linear =nullptr;
vulkan::Sampler * sampler_nearest =nullptr;
PipelineData * pipeline_data =nullptr;
Renderable * render_obj =nullptr;
Sampler * sampler_linear =nullptr;
Sampler * sampler_nearest =nullptr;
struct MP
{
vulkan::Material * material =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Material * material =nullptr;
Pipeline * pipeline =nullptr;
}mp_normal,mp_hq;
struct MIR
{
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
}mir_nearest,mir_linear,mir_nearest_hq,mir_linear_hq;
vulkan::Texture2D * texture =nullptr;
Texture2D * texture =nullptr;
vulkan::VAB * vertex_buffer =nullptr;
vulkan::VAB * tex_coord_buffer =nullptr;
vulkan::IndexBuffer * index_buffer =nullptr;
VAB * vertex_buffer =nullptr;
VAB * tex_coord_buffer =nullptr;
IndexBuffer * index_buffer =nullptr;
SceneNode render_root;
RenderList render_list;
@ -110,9 +110,9 @@ private:
return(true);
}
vulkan::Sampler *InitSampler(VkFilter filter)
Sampler *InitSampler(VkFilter filter)
{
vulkan::SamplerCreateInfo sampler_create_info;
SamplerCreateInfo sampler_create_info;
sampler_create_info.magFilter = filter;
sampler_create_info.minFilter = filter;
@ -135,7 +135,7 @@ private:
bool InitTexture()
{
texture=vulkan::CreateTextureFromFile(device,OS_TEXT("res/image/heightmap.Tex2D"));
texture=CreateTextureFromFile(device,OS_TEXT("res/image/heightmap.Tex2D"));
return texture;
}
@ -152,7 +152,7 @@ private:
bool InitMaterial()
{
pipeline_data=vulkan::GetPipelineData(vulkan::InlinePipeline::Solid2D);
pipeline_data=GetPipelineData(InlinePipeline::Solid2D);
if(!pipeline_data)return(false);
if(!InitMaterial(&mp_normal,OS_TEXT("res/material/Texture2DPC")))return(false);
@ -161,7 +161,7 @@ private:
return(true);
}
bool InitMIR(struct MIR *mir,vulkan::Sampler *sampler,MP *mp)
bool InitMIR(struct MIR *mir,Sampler *sampler,MP *mp)
{
mir->material_instance=db->CreateMaterialInstance(mp->material);
if(!mir->material_instance)return(false);
@ -239,7 +239,7 @@ public:
int main(int,char **)
{
#ifdef _DEBUG
if(!vulkan::CheckStrideBytesByFormat())
if(!CheckStrideBytesByFormat())
return 0xff;
#endif//

View File

@ -23,16 +23,16 @@ private:
SceneNode render_root;
RenderList render_list;
vulkan::Material * material =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
Material * material =nullptr;
MaterialInstance * material_instance =nullptr;
vulkan::PipelineData * pipeline_data =nullptr;
vulkan::Pipeline * pipeline_line =nullptr;
vulkan::Pipeline * pipeline_solid =nullptr;
PipelineData * pipeline_data =nullptr;
Pipeline * pipeline_line =nullptr;
Pipeline * pipeline_solid =nullptr;
vulkan::GPUBuffer * ubo_color =nullptr;
GPUBuffer * ubo_color =nullptr;
vulkan::Renderable *ro_plane_grid,
Renderable *ro_plane_grid,
*ro_cube,
*ro_sphere,
*ro_dome,
@ -50,7 +50,7 @@ private:
material_instance=db->CreateMaterialInstance(material);
if(!material_instance)return(false);
pipeline_data=vulkan::GetPipelineData(vulkan::InlinePipeline::Solid3D);
pipeline_data=GetPipelineData(InlinePipeline::Solid3D);
if(!pipeline_data)return(false);
pipeline_line=CreatePipeline(material,pipeline_data,Prim::Lines);
@ -155,14 +155,14 @@ private:
return(true);
}
void Add(vulkan::Renderable *r,vulkan::Pipeline *pl)
void Add(Renderable *r,Pipeline *pl)
{
auto ri=db->CreateRenderableInstance(r,material_instance,pl);
render_root.Add(ri);
}
void Add(vulkan::Renderable *r,vulkan::Pipeline *pl,const Matrix4f &mat)
void Add(Renderable *r,Pipeline *pl,const Matrix4f &mat)
{
auto ri=db->CreateRenderableInstance(r,material_instance,pl);

View File

@ -15,24 +15,24 @@ class TestApp:public CameraAppFramework
{
Camera cam;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
MaterialInstance * material_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
};
struct:public RenderObject
{
vulkan::RenderTarget * render_taget =nullptr;
RenderTarget * render_taget =nullptr;
vulkan::Pipeline * pipeline =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
Pipeline * pipeline =nullptr;
RenderableInstance *renderable_instance =nullptr;
}os;
struct:public RenderObject
{
vulkan::Sampler * sampler =nullptr;
Sampler * sampler =nullptr;
vulkan::Pipeline * pipeline =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
Pipeline * pipeline =nullptr;
RenderableInstance *renderable_instance =nullptr;
SceneNode scene_root;
RenderList render_list;
@ -70,7 +70,7 @@ public:
os.material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/VertexColor2D"));
if(!os.material_instance)return(false);
os.pipeline=db->CreatePipeline(os.material_instance,os.render_taget,vulkan::InlinePipeline::Solid2D,Prim::Fan);
os.pipeline=db->CreatePipeline(os.material_instance,os.render_taget,InlinePipeline::Solid2D,Prim::Fan);
if(!os.pipeline)return(false);
if(!InitUBO(&os,os.render_taget->GetExtent()))
@ -86,7 +86,7 @@ public:
cci.center_color.Set(1,1,1,1);
cci.border_color.Set(1,1,1,0);
vulkan::Renderable *render_obj=CreateRenderableCircle(db,os.material_instance->GetMaterial(),&cci);
Renderable *render_obj=CreateRenderableCircle(db,os.material_instance->GetMaterial(),&cci);
if(!render_obj)return(false);
os.renderable_instance=db->CreateRenderableInstance(render_obj,os.material_instance,os.pipeline);
@ -107,7 +107,7 @@ public:
cube.material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/TextureMask3D"));
if(!cube.material_instance)return(false);
cube.pipeline=CreatePipeline(cube.material_instance,vulkan::InlinePipeline::Solid3D);
cube.pipeline=CreatePipeline(cube.material_instance,InlinePipeline::Solid3D);
if(!cube.pipeline)return(false);
cube.sampler=db->CreateSampler();
@ -120,7 +120,7 @@ public:
{
CubeCreateInfo cci;
vulkan::Renderable *render_obj=CreateRenderableCube(db,cube.material_instance->GetMaterial(),&cci);
Renderable *render_obj=CreateRenderableCube(db,cube.material_instance->GetMaterial(),&cci);
if(!render_obj)return(false);
cube.renderable_instance=db->CreateRenderableInstance(render_obj,cube.material_instance,cube.pipeline);

View File

@ -36,14 +36,14 @@ class TestApp:public VulkanApplicationFramework
private:
vulkan::Texture2D * texture =nullptr;
vulkan::Sampler * sampler =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::Renderable * render_obj =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
Texture2D * texture =nullptr;
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
Renderable * render_obj =nullptr;
RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -52,10 +52,10 @@ private:
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/TextureRect2D"));
if(!material_instance)return(false);
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D,Prim::Rectangles);
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D,Prim::Rectangles);
if(!pipeline)return(false);
texture=vulkan::CreateTextureFromFile(device,OS_TEXT("res/image/lena.Tex2D"));
texture=CreateTextureFromFile(device,OS_TEXT("res/image/lena.Tex2D"));
if(!texture)return(false);
sampler=db->CreateSampler();

View File

@ -35,7 +35,7 @@ constexpr char *data_type_name[]
"SRGB"
};//
vulkan::VulkanInstance *InitVulkanInstance()
VulkanInstance *InitVulkanInstance()
{
#ifdef _DEBUG
if(!CheckStrideBytesByFormat())
@ -56,15 +56,15 @@ vulkan::VulkanInstance *InitVulkanInstance()
cili.lunarg.standard_validation=true;
cili.khronos.validation=true;
return vulkan::CreateInstance("VulkanTest",nullptr,&cili);
return CreateInstance("VulkanTest",nullptr,&cili);
}
int main(int,char **)
{
Window * win =nullptr;
vulkan::VulkanInstance * inst =nullptr;
vulkan::GPUDevice * device =nullptr;
const vulkan::GPUPhysicalDevice *physical_device =nullptr;
VulkanInstance * inst =nullptr;
GPUDevice * device =nullptr;
const GPUPhysicalDevice *physical_device =nullptr;
inst=InitVulkanInstance();

View File

@ -32,11 +32,11 @@ private:
Camera cam;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *render_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *render_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -48,7 +48,7 @@ private:
return(false);
// pipeline=db->CreatePipeline(material_instance,sc_render_target,OS_TEXT("res/pipeline/solid2d"));
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D); //等同上一行为Framework重载默认使用swapchain的render target
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D); //等同上一行为Framework重载默认使用swapchain的render target
return pipeline;
}
@ -74,7 +74,7 @@ private:
bool InitVBO()
{
vulkan::Renderable *render_obj=db->CreateRenderable(VERTEX_COUNT);
Renderable *render_obj=db->CreateRenderable(VERTEX_COUNT);
if(!render_obj)return(false);
if(!render_obj->Set(VAN::Position, db->CreateVAB(VAF_VEC2,VERTEX_COUNT,vertex_data)))return(false);

View File

@ -36,11 +36,11 @@ private:
Camera cam;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -49,7 +49,7 @@ private:
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/FragColor"));
if(!material_instance)return(false);
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D);
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D);
return(true);
}
@ -124,7 +124,7 @@ public:
int main(int,char **)
{
#ifdef _DEBUG
if(!vulkan::CheckStrideBytesByFormat())
if(!CheckStrideBytesByFormat())
return 0xff;
#endif//

View File

@ -49,12 +49,12 @@ class TestApp:public VulkanApplicationFramework
private:
vulkan::Texture2D * texture =nullptr;
vulkan::Sampler * sampler =nullptr;
vulkan::MaterialInstance * material_instance =nullptr;
vulkan::RenderableInstance *renderable_instance =nullptr;
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
vulkan::Pipeline * pipeline =nullptr;
Texture2D * texture =nullptr;
Sampler * sampler =nullptr;
MaterialInstance * material_instance =nullptr;
RenderableInstance *renderable_instance =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
Pipeline * pipeline =nullptr;
private:
@ -63,10 +63,10 @@ private:
material_instance=db->CreateMaterialInstance(OS_TEXT("res/material/Texture2D"));
if(!material_instance)return(false);
pipeline=CreatePipeline(material_instance,vulkan::InlinePipeline::Solid2D);
pipeline=CreatePipeline(material_instance,InlinePipeline::Solid2D);
if(!pipeline)return(false);
texture=vulkan::CreateTextureFromFile(device,OS_TEXT("res/image/lena.Tex2D"));
texture=CreateTextureFromFile(device,OS_TEXT("res/image/lena.Tex2D"));
if(!texture)return(false);
db->Add(texture);
@ -148,7 +148,7 @@ public:
int main(int,char **)
{
#ifdef _DEBUG
if(!vulkan::CheckStrideBytesByFormat())
if(!CheckStrideBytesByFormat())
return 0xff;
#endif//

View File

@ -28,7 +28,7 @@ class VulkanApplicationFramework
private:
Window * win =nullptr;
vulkan::VulkanInstance * inst =nullptr;
VulkanInstance * inst =nullptr;
void OnKeyDown (KeyboardButton kb){key_status[kb]=true;}
void OnKeyUp (KeyboardButton kb){key_status[kb]=false;}
@ -46,20 +46,20 @@ protected:
protected:
vulkan::GPUDevice * device =nullptr;
vulkan::SwapchainRenderTarget * sc_render_target =nullptr;
GPUDevice * device =nullptr;
SwapchainRenderTarget * sc_render_target =nullptr;
protected:
int32_t swap_chain_count =0;
vulkan::GPUCmdBuffer ** cmd_buf =nullptr;
GPUCmdBuffer ** cmd_buf =nullptr;
Color4f clear_color;
protected:
vulkan::RenderResource * db =nullptr;
RenderResource * db =nullptr;
bool key_status[kbRangeSize];
@ -82,7 +82,7 @@ public:
clear_color.Zero();
#ifdef _DEBUG
if(!vulkan::CheckStrideBytesByFormat())
if(!CheckStrideBytesByFormat())
return(false);
#endif//
@ -106,7 +106,7 @@ public:
cili.khronos.validation = true;
cili.RenderDoc.Capture = true;
inst=vulkan::CreateInstance("VulkanTest",nullptr,&cili);
inst=CreateInstance("VulkanTest",nullptr,&cili);
if(!inst)
return(false);
@ -117,7 +117,7 @@ public:
if(!device)
return(false);
db=new vulkan::RenderResource(device);
db=new RenderResource(device);
InitCommandBuffer();
@ -161,20 +161,20 @@ public:
{
const VkExtent2D extent=sc_render_target->GetExtent();
cmd_buf=hgl_zero_new<vulkan::GPUCmdBuffer *>(swap_chain_count);
cmd_buf=hgl_zero_new<GPUCmdBuffer *>(swap_chain_count);
for(int32_t i=0;i<swap_chain_count;i++)
cmd_buf[i]=device->CreateCommandBuffer(extent,2);
}
}
void BuildCommandBuffer(vulkan::RenderTarget *rt,vulkan::RenderableInstance *ri)
void BuildCommandBuffer(RenderTarget *rt,RenderableInstance *ri)
{
if(!rt||!ri)
return;
vulkan::GPUCmdBuffer *cb=rt->GetCommandBuffer();
const vulkan::IndexBuffer *ib=ri->GetIndexBuffer();
GPUCmdBuffer *cb=rt->GetCommandBuffer();
const IndexBuffer *ib=ri->GetIndexBuffer();
cb->Begin();
cb->BindFramebuffer(rt);
@ -196,14 +196,14 @@ public:
clear_color.Use(cc,1.0);
}
void BuildCommandBuffer(uint32_t index,vulkan::RenderableInstance *ri)
void BuildCommandBuffer(uint32_t index,RenderableInstance *ri)
{
if(!ri)
return;
const vulkan::IndexBuffer *ib=ri->GetIndexBuffer();
const IndexBuffer *ib=ri->GetIndexBuffer();
vulkan::GPUCmdBuffer *cb=cmd_buf[index];
GPUCmdBuffer *cb=cmd_buf[index];
cb->SetClearColor(0,clear_color.r,clear_color.g,clear_color.b);
@ -222,13 +222,13 @@ public:
cb->End();
}
void BuildCommandBuffer(vulkan::RenderableInstance *ri)
void BuildCommandBuffer(RenderableInstance *ri)
{
for(int32_t i=0;i<swap_chain_count;i++)
BuildCommandBuffer(i,ri);
}
void BuildCurrentCommandBuffer(vulkan::RenderableInstance *ri)
void BuildCurrentCommandBuffer(RenderableInstance *ri)
{
BuildCommandBuffer(sc_render_target->GetCurrentFrameIndices(),ri);
}
@ -237,7 +237,7 @@ public:
{
if(!rl)return;
vulkan::GPUCmdBuffer *cb=cmd_buf[index];
GPUCmdBuffer *cb=cmd_buf[index];
cb->SetClearColor(0,clear_color.r,clear_color.g,clear_color.b);
@ -297,32 +297,32 @@ public:
public: //pipeline
vulkan::Pipeline *CreatePipeline(vulkan::Material *mtl,const vulkan::InlinePipeline &ip,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
Pipeline *CreatePipeline(Material *mtl,const InlinePipeline &ip,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
{
return db->CreatePipeline(mtl,sc_render_target,ip,prim,prim_restart);
}
vulkan::Pipeline *CreatePipeline(vulkan::MaterialInstance *mi,const vulkan::InlinePipeline &ip,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
Pipeline *CreatePipeline(MaterialInstance *mi,const InlinePipeline &ip,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
{
return db->CreatePipeline(mi,sc_render_target,ip,prim,prim_restart);
}
vulkan::Pipeline *CreatePipeline(vulkan::Material *mtl,vulkan::PipelineData *pd,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
Pipeline *CreatePipeline(Material *mtl,PipelineData *pd,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
{
return db->CreatePipeline(mtl,sc_render_target,pd,prim,prim_restart);
}
vulkan::Pipeline *CreatePipeline(vulkan::MaterialInstance *mi,vulkan::PipelineData *pd,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
Pipeline *CreatePipeline(MaterialInstance *mi,PipelineData *pd,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
{
return db->CreatePipeline(mi,sc_render_target,pd,prim,prim_restart);
}
vulkan::Pipeline *CreatePipeline(vulkan::Material *mtl,const OSString &pipeline_name,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
Pipeline *CreatePipeline(Material *mtl,const OSString &pipeline_name,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
{
return db->CreatePipeline(mtl,sc_render_target,pipeline_name,prim,prim_restart);
}
vulkan::Pipeline *CreatePipeline(vulkan::MaterialInstance *mi,const OSString &pipeline_name,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
Pipeline *CreatePipeline(MaterialInstance *mi,const OSString &pipeline_name,const Prim &prim=Prim::Triangles,const bool prim_restart=false)
{
return db->CreatePipeline(mi,sc_render_target,pipeline_name,prim,prim_restart);
}
@ -332,7 +332,7 @@ class CameraAppFramework:public VulkanApplicationFramework
{
private:
vulkan::GPUBuffer * ubo_world_matrix =nullptr;
GPUBuffer * ubo_world_matrix =nullptr;
protected:
@ -375,7 +375,7 @@ public:
camera.height=h;
}
vulkan::GPUBuffer *GetCameraMatrixBuffer()
GPUBuffer *GetCameraMatrixBuffer()
{
return ubo_world_matrix;
}

View File

@ -17,12 +17,12 @@ namespace hgl
RectScope2f scope;
};//struct RectangleCreateInfo
vulkan::Renderable *CreateRenderableRectangle(vulkan::RenderResource *db,vulkan::Material *mtl,const RectangleCreateInfo *rci);
Renderable *CreateRenderableRectangle(RenderResource *db,Material *mtl,const RectangleCreateInfo *rci);
/**
*
*/
vulkan::Renderable *CreateRenderableGBufferComposition(vulkan::RenderResource *db,vulkan::Material *mtl);
Renderable *CreateRenderableGBufferComposition(RenderResource *db,Material *mtl);
/**
* (/线)
@ -33,7 +33,7 @@ namespace hgl
uint32_t round_per; ///<圆角精度
};//struct RoundRectangleCreateInfo:public RectangleCreateInfo
vulkan::Renderable *CreateRenderableRoundRectangle(vulkan::RenderResource *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci);
Renderable *CreateRenderableRoundRectangle(RenderResource *db,Material *mtl,const RoundRectangleCreateInfo *rci);
/**
*
@ -53,7 +53,7 @@ namespace hgl
/**
* 2D圆形(/线)
*/
vulkan::Renderable *CreateRenderableCircle(vulkan::RenderResource *db,vulkan::Material *mtl,const CircleCreateInfo *cci);
Renderable *CreateRenderableCircle(RenderResource *db,Material *mtl,const CircleCreateInfo *cci);
/**
*
@ -72,7 +72,7 @@ namespace hgl
/**
* (线)
*/
vulkan::Renderable *CreateRenderablePlaneGrid(vulkan::RenderResource *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci);
Renderable *CreateRenderablePlaneGrid(RenderResource *db,Material *mtl,const PlaneGridCreateInfo *pgci);
struct PlaneCreateInfo
{
@ -89,7 +89,7 @@ namespace hgl
/**
* ()
*/
vulkan::Renderable *CreateRenderablePlane(vulkan::RenderResource *db,vulkan::Material *mtl,const PlaneCreateInfo *pci);
Renderable *CreateRenderablePlane(RenderResource *db,Material *mtl,const PlaneCreateInfo *pci);
struct CubeCreateInfo
{
@ -129,17 +129,17 @@ namespace hgl
/**
* ()
*/
vulkan::Renderable *CreateRenderableCube(vulkan::RenderResource *db,vulkan::Material *mtl,const CubeCreateInfo *cci);
Renderable *CreateRenderableCube(RenderResource *db,Material *mtl,const CubeCreateInfo *cci);
/**
* (线)
*/
vulkan::Renderable *CreateRenderableBoundingBox(vulkan::RenderResource *db,vulkan::Material *mtl,const CubeCreateInfo *cci);
Renderable *CreateRenderableBoundingBox(RenderResource *db,Material *mtl,const CubeCreateInfo *cci);
/**
* 0,0,01()
*/
vulkan::Renderable *CreateRenderableSphere(vulkan::RenderResource *db,vulkan::Material *mtl,const uint numberSlices);
Renderable *CreateRenderableSphere(RenderResource *db,Material *mtl,const uint numberSlices);
struct DomeCreateInfo
{
@ -150,7 +150,7 @@ namespace hgl
/**
* ()
*/
vulkan::Renderable *CreateRenderableDome(vulkan::RenderResource *db,vulkan::Material *mtl, const DomeCreateInfo *);
Renderable *CreateRenderableDome(RenderResource *db,Material *mtl, const DomeCreateInfo *);
struct TorusCreateInfo
{
@ -164,7 +164,7 @@ namespace hgl
/**
* ()
*/
vulkan::Renderable *CreateRenderableTorus(vulkan::RenderResource *db,vulkan::Material *mtl,const TorusCreateInfo *tci);
Renderable *CreateRenderableTorus(RenderResource *db,Material *mtl,const TorusCreateInfo *tci);
struct CylinderCreateInfo
{
@ -176,7 +176,7 @@ namespace hgl
/**
* ()
*/
vulkan::Renderable *CreateRenderableCylinder(vulkan::RenderResource *db,vulkan::Material *mtl,const CylinderCreateInfo *cci);
Renderable *CreateRenderableCylinder(RenderResource *db,Material *mtl,const CylinderCreateInfo *cci);
struct ConeCreateInfo
{
@ -189,7 +189,7 @@ namespace hgl
/**
* ()
*/
vulkan::Renderable *CreateRenderableCone(vulkan::RenderResource *db,vulkan::Material *mtl,const ConeCreateInfo *cci);
Renderable *CreateRenderableCone(RenderResource *db,Material *mtl,const ConeCreateInfo *cci);
struct AxisCreateInfo
{
@ -229,7 +229,7 @@ namespace hgl
/**
* 线(线)
*/
vulkan::Renderable *CreateRenderableAxis(vulkan::RenderResource *db,vulkan::Material *mtl,const AxisCreateInfo *aci);
Renderable *CreateRenderableAxis(RenderResource *db,Material *mtl,const AxisCreateInfo *aci);
}//namespace graph
};//namespace hgl
#endif//HGL_GRAPH_INLINE_GEOMETRY_INCLUDE

View File

@ -11,19 +11,19 @@ namespace hgl
{
class RenderList
{
vulkan::GPUCmdBuffer *cmd_buf;
GPUCmdBuffer *cmd_buf;
private:
List<SceneNode *> scene_node_list;
vulkan::PushConstant * last_pc;
vulkan::Pipeline * last_pipeline;
vulkan::MaterialInstance * last_mat_inst;
vulkan::RenderableInstance *last_ri;
PushConstant * last_pc;
Pipeline * last_pipeline;
MaterialInstance * last_mat_inst;
RenderableInstance *last_ri;
void Render(SceneNode *,vulkan::RenderableInstance *);
void Render(SceneNode *,List<vulkan::RenderableInstance *> &);
void Render(SceneNode *,RenderableInstance *);
void Render(SceneNode *,List<RenderableInstance *> &);
public:
@ -41,7 +41,7 @@ namespace hgl
void Add (SceneNode *node) {if(node)scene_node_list.Add(node);}
void Clear () {scene_node_list.ClearData();}
bool Render(vulkan::GPUCmdBuffer *);
bool Render(GPUCmdBuffer *);
};//class RenderList
}//namespace graph
}//namespace hgl

View File

@ -13,7 +13,7 @@ namespace hgl
AnsiString name;
uint binding;
VAD * data =nullptr;
vulkan::VAB * vab =nullptr;
VAB * vab =nullptr;
public:
@ -32,25 +32,25 @@ namespace hgl
{
protected:
vulkan::RenderResource *db;
vulkan::Material *mtl;
RenderResource *db;
Material *mtl;
const vulkan::VertexShaderModule *vsm;
const VertexShaderModule *vsm;
protected:
uint32 vertices_number;
vulkan::IndexBuffer * ibo;
IndexBuffer * ibo;
VADMaps vab_maps;
protected:
virtual VAD *CreateVAD(const AnsiString &name,const vulkan::ShaderStage *ss); ///<创建一个顶点属性缓冲区
virtual VAD *CreateVAD(const AnsiString &name,const ShaderStage *ss); ///<创建一个顶点属性缓冲区
public:
RenderableCreater(vulkan::RenderResource *sdb,vulkan::Material *m);
RenderableCreater(RenderResource *sdb,Material *m);
virtual ~RenderableCreater()=default;
virtual bool Init(const uint32 count); ///<初始化,参数为顶点数量
@ -60,7 +60,7 @@ namespace hgl
template<typename T>
T * CreateVADA(const AnsiString &name) ///<创建一个顶点属性缓冲区以及访问器
{
const vulkan::ShaderStage *ss=vsm->GetStageInput(name);
const ShaderStage *ss=vsm->GetStageInput(name);
if(!ss)
return(nullptr);
@ -85,7 +85,7 @@ namespace hgl
uint16 * CreateIBO16(uint count,const uint16 *data=nullptr); ///<创建16位的索引缓冲区
uint32 * CreateIBO32(uint count,const uint32 *data=nullptr); ///<创建32位的索引缓冲区
virtual vulkan::Renderable * Finish(); ///<结束并创建可渲染对象
virtual Renderable * Finish(); ///<结束并创建可渲染对象
};//class RenderableCreater
}//namespace graph
}//namespace hgl

View File

@ -40,7 +40,7 @@ namespace hgl
ObjectList<SceneNode> SubNode; ///<子节点
List<vulkan::RenderableInstance *> renderable_instances; ///<可渲染实例
List<RenderableInstance *> renderable_instances; ///<可渲染实例
public:
@ -74,9 +74,9 @@ namespace hgl
void Add(SceneNode *n){if(n)SubNode.Add(n);} ///<增加一个子节点
void ClearSubNode(){SubNode.ClearData();} ///<清除子节点
void Add(vulkan::RenderableInstance *ri){if(ri)renderable_instances.Add(ri);} ///<增加渲染实例
void Add(RenderableInstance *ri){if(ri)renderable_instances.Add(ri);} ///<增加渲染实例
void Add(vulkan::RenderableInstance *ri,const Matrix4f &mat)
void Add(RenderableInstance *ri,const Matrix4f &mat)
{
SceneNode *sn=new SceneNode(mat);

View File

@ -24,14 +24,14 @@ namespace hgl
Matrix4f InverseLocalMatrix; ///<反向当前矩阵
Matrix4f InverseLocalToWorldMatrix; ///<反向当前到世界矩阵
vulkan::PushConstant pc;
PushConstant pc;
public:
SceneOrient();
virtual ~SceneOrient()=default;
vulkan::PushConstant *GetPushConstant(){return &pc;}
PushConstant *GetPushConstant(){return &pc;}
Matrix4f & SetLocalMatrix (const Matrix4f &); ///<设定当前节点矩阵
Matrix4f & SetLocalToWorldMatrix (const Matrix4f &); ///<设定当前节点到世界矩阵

View File

@ -48,7 +48,7 @@ namespace hgl
protected:
vulkan::GPUBuffer *tile_buffer; ///<Tile暂存缓冲区
GPUBuffer *tile_buffer; ///<Tile暂存缓冲区
List<ImageRegion> commit_list;
uint8 *commit_ptr;

View File

@ -261,7 +261,7 @@ public: //Command GPUBuffer 相关
const VkImageLayout depth_final_layout=VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL);
GPUFence * CreateFence(bool);
vulkan::GPUSemaphore * CreateSemaphore();
GPUSemaphore * CreateSemaphore();
public: //FrameBuffer相关

View File

@ -25,7 +25,7 @@ public:
~MaterialInstance();
bool BindUBO(const AnsiString &name,vulkan::GPUBuffer *ubo);
bool BindUBO(const AnsiString &name,GPUBuffer *ubo);
bool BindSampler(const AnsiString &name,Texture *tex,Sampler *sampler);
void Update();

View File

@ -23,8 +23,8 @@ public:
bool WaitQueue();
bool WaitFence(const bool wait_all=true,const uint64_t time_out=HGL_NANO_SEC_PER_SEC);
bool Submit(const VkCommandBuffer &cmd_buf,vulkan::GPUSemaphore *wait_sem,vulkan::GPUSemaphore *complete_sem);
bool Submit(const VkCommandBuffer *cmd_buf,const uint32_t count,vulkan::GPUSemaphore *wait_sem,vulkan::GPUSemaphore *complete_sem);
bool Submit(const VkCommandBuffer &cmd_buf,GPUSemaphore *wait_sem,GPUSemaphore *complete_sem);
bool Submit(const VkCommandBuffer *cmd_buf,const uint32_t count,GPUSemaphore *wait_sem,GPUSemaphore *complete_sem);
};//class SumbitQueue
VK_NAMESPACE_END
#endif//HGL_GRAPH_VULKAN_SUBMIT_QUEUE_INCLUDE

View File

@ -29,9 +29,9 @@ public:
virtual ~RenderableInstance();
vulkan::Pipeline * GetPipeline (){return pipeline;}
vulkan::MaterialInstance * GetMaterialInstance (){return mat_inst;}
vulkan::Renderable * GetRenderable (){return render_obj;}
Pipeline * GetPipeline (){return pipeline;}
MaterialInstance * GetMaterialInstance (){return mat_inst;}
Renderable * GetRenderable (){return render_obj;}
const AABB & GetBoundingBox ()const{return render_obj->GetBoundingBox();}
const uint32_t GetBufferCount ()const{return buffer_count;}

View File

@ -9,19 +9,19 @@ namespace hgl
/**
*
*/
class TextRenderable:public vulkan::Renderable
class TextRenderable:public Renderable
{
vulkan::GPUDevice * device;
vulkan::Material * mtl;
GPUDevice * device;
Material * mtl;
uint max_count; ///<缓冲区最大容量
vulkan::VAB * vab_position;
vulkan::VAB * vab_tex_coord;
VAB * vab_position;
VAB * vab_tex_coord;
public:
TextRenderable(vulkan::GPUDevice *,vulkan::Material *,uint mc=1024);
TextRenderable(GPUDevice *,Material *,uint mc=1024);
virtual ~TextRenderable();
public:
@ -30,7 +30,7 @@ namespace hgl
bool WriteVertex (const float *fp);
bool WriteTexCoord (const float *fp);
};//class TextRenderable:public vulkan::Renderable
};//class TextRenderable:public Renderable
}//namespace graph
}//namespace hgl
#endif//HGL_GRAPH_TEXT_RENDERABLE_INCLUDE

View File

@ -17,13 +17,13 @@ namespace hgl
{
protected:
vulkan::GPUDevice *device;
GPUDevice *device;
MapObject<Form *,ThemeForm> form_list;
public:
ThemeEngine(vulkan::GPUDevice *dev){device=dev;}
ThemeEngine(GPUDevice *dev){device=dev;}
virtual ~ThemeEngine()=default;
virtual bool Init()=0;

View File

@ -13,13 +13,13 @@ namespace hgl
protected:
Form *form;
hgl::graph::vulkan::RenderTarget *render_target;
hgl::graph::RenderTarget *render_target;
public:
ThemeForm(Form *);
void SetRenderTarget(hgl::graph::vulkan::RenderTarget *);
void SetRenderTarget(hgl::graph::RenderTarget *);
};//class ThemeForm
}//namespace gui
}//namespace hgl

View File

@ -4,7 +4,7 @@ namespace hgl
{
namespace gui
{
ThemeEngine *CreateDefaultThemeEngine(vulkan::GPUDevice *dev)
ThemeEngine *CreateDefaultThemeEngine(GPUDevice *dev)
{
return(new default_theme::DefaultThemeEngine(dev));
}

View File

@ -23,13 +23,13 @@ namespace hgl
//struct
//{
// vulkan::Material * m;
// vulkan::MaterialInstance * mi;
// Material * m;
// MaterialInstance * mi;
//}panel;
public:
DefaultThemeEngine(vulkan::GPUDevice *dev):ThemeEngine(dev){}
DefaultThemeEngine(GPUDevice *dev):ThemeEngine(dev){}
virtual ~DefaultThemeEngine() override;
bool Init() override;

View File

@ -10,9 +10,9 @@ namespace hgl
ThemeEngine *default_theme_engine=nullptr;
}//namespace
ThemeEngine *CreateDefaultThemeEngine(vulkan::GPUDevice *dev);
ThemeEngine *CreateDefaultThemeEngine(GPUDevice *dev);
ThemeEngine *GetDefaultThemeEngine(vulkan::GPUDevice *dev)
ThemeEngine *GetDefaultThemeEngine(GPUDevice *dev)
{
if(!default_theme_engine)
default_theme_engine=CreateDefaultThemeEngine(dev);
@ -20,7 +20,7 @@ namespace hgl
return default_theme_engine;
}
ThemeEngine *CreateThemeEngine(vulkan::GPUDevice *dev)
ThemeEngine *CreateThemeEngine(GPUDevice *dev)
{
return GetDefaultThemeEngine();
}

View File

@ -92,7 +92,7 @@ GPUFence *GPUDevice::CreateFence(bool create_signaled)
return(new GPUFence(attr->device,fence));
}
vulkan::GPUSemaphore *GPUDevice::CreateSemaphore()
GPUSemaphore *GPUDevice::CreateSemaphore()
{
SemaphoreCreateInfo SemaphoreCreateInfo;
@ -101,6 +101,6 @@ vulkan::GPUSemaphore *GPUDevice::CreateSemaphore()
if(vkCreateSemaphore(attr->device, &SemaphoreCreateInfo, nullptr, &sem)!=VK_SUCCESS)
return(nullptr);
return(new vulkan::GPUSemaphore(attr->device,sem));
return(new GPUSemaphore(attr->device,sem));
}
VK_NAMESPACE_END

View File

@ -431,7 +431,7 @@ GPUDevice *CreateRenderDevice(VkInstance inst,const GPUPhysicalDevice *physical_
return(new GPUDevice(device_attr));
}
GPUDevice *CreateRenderDevice(vulkan::VulkanInstance *inst,Window *win,const vulkan::GPUPhysicalDevice *pd)
GPUDevice *CreateRenderDevice(VulkanInstance *inst,Window *win,const GPUPhysicalDevice *pd)
{
if(!inst)
return(nullptr);

View File

@ -15,7 +15,7 @@ MaterialInstance::~MaterialInstance()
delete descriptor_sets;
}
bool MaterialInstance::BindUBO(const AnsiString &name,vulkan::GPUBuffer *ubo)
bool MaterialInstance::BindUBO(const AnsiString &name,GPUBuffer *ubo)
{
if(name.IsEmpty()||!ubo)
return(false);

View File

@ -50,7 +50,7 @@ bool GPUQueue::WaitFence(const bool wait_all,uint64_t time_out)
return(true);
}
bool GPUQueue::Submit(const VkCommandBuffer *cmd_buf,const uint32_t cb_count,vulkan::GPUSemaphore *wait_sem,vulkan::GPUSemaphore *complete_sem)
bool GPUQueue::Submit(const VkCommandBuffer *cmd_buf,const uint32_t cb_count,GPUSemaphore *wait_sem,GPUSemaphore *complete_sem)
{
VkSemaphore ws;
VkSemaphore cs;
@ -93,7 +93,7 @@ bool GPUQueue::Submit(const VkCommandBuffer *cmd_buf,const uint32_t cb_count,vul
return(result==VK_SUCCESS);
}
bool GPUQueue::Submit(const VkCommandBuffer &cmd_buf,vulkan::GPUSemaphore *wait_sem,vulkan::GPUSemaphore *complete_sem)
bool GPUQueue::Submit(const VkCommandBuffer &cmd_buf,GPUSemaphore *wait_sem,GPUSemaphore *complete_sem)
{
return Submit(&cmd_buf,1,wait_sem,complete_sem);
}

View File

@ -109,7 +109,7 @@ Pipeline *RenderResource::CreatePipeline(MaterialInstance *mi,RenderTarget *rt,P
Pipeline *RenderResource::CreatePipeline(Material *mtl,RenderTarget *rt,const OSString &pipeline_filename,const Prim &prim,const bool prim_restart)
{
PipelineData *pd=vulkan::GetPipelineData(pipeline_filename);
PipelineData *pd=GetPipelineData(pipeline_filename);
if(!pd)return(nullptr);

View File

@ -93,7 +93,7 @@ namespace
GPUDevice *device;
VkFormat format;
vulkan::GPUBuffer *buf;
GPUBuffer *buf;
Texture2D *tex;

View File

@ -12,7 +12,7 @@ namespace hgl
{
namespace graph
{
vulkan::Renderable *CreateRenderableRectangle(vulkan::RenderResource *db,vulkan::Material *mtl,const RectangleCreateInfo *rci)
Renderable *CreateRenderableRectangle(RenderResource *db,Material *mtl,const RectangleCreateInfo *rci)
{
RenderableCreater rc(db,mtl);
@ -29,7 +29,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderableGBufferComposition(vulkan::RenderResource *db,vulkan::Material *mtl)
Renderable *CreateRenderableGBufferComposition(RenderResource *db,Material *mtl)
{
RectangleCreateInfo rci;
@ -38,7 +38,7 @@ namespace hgl
return CreateRenderableRectangle(db,mtl,&rci);
}
vulkan::Renderable *CreateRenderableRoundRectangle(vulkan::RenderResource *db,vulkan::Material *mtl,const RoundRectangleCreateInfo *rci)
Renderable *CreateRenderableRoundRectangle(RenderResource *db,Material *mtl,const RoundRectangleCreateInfo *rci)
{
RenderableCreater rc(db,mtl);
@ -112,7 +112,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderableCircle(vulkan::RenderResource *db,vulkan::Material *mtl,const CircleCreateInfo *cci)
Renderable *CreateRenderableCircle(RenderResource *db,Material *mtl,const CircleCreateInfo *cci)
{
RenderableCreater rc(db,mtl);
@ -160,7 +160,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderablePlaneGrid(vulkan::RenderResource *db,vulkan::Material *mtl,const PlaneGridCreateInfo *pgci)
Renderable *CreateRenderablePlaneGrid(RenderResource *db,Material *mtl,const PlaneGridCreateInfo *pgci)
{
RenderableCreater rc(db,mtl);
@ -207,7 +207,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderablePlane(vulkan::RenderResource *db,vulkan::Material *mtl,const PlaneCreateInfo *pci)
Renderable *CreateRenderablePlane(RenderResource *db,Material *mtl,const PlaneCreateInfo *pci)
{
const float xy_vertices [] = { -0.5f,-0.5f,0.0f, +0.5f,-0.5f,0.0f, +0.5f,+0.5f,0.0f, -0.5f,+0.5f,0.0f };
float xy_tex_coord[] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f };
@ -248,7 +248,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderableCube(vulkan::RenderResource *db,vulkan::Material *mtl,const CubeCreateInfo *cci)
Renderable *CreateRenderableCube(RenderResource *db,Material *mtl,const CubeCreateInfo *cci)
{ // Points of a cube.
/* 4 5 */ const float points[]={ -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, +0.5f, +0.5f, -0.5f, +0.5f, +0.5f, -0.5f, -0.5f, -0.5f, +0.5f, -0.5f, -0.5f, +0.5f, +0.5f,
/* *------------* */ +0.5f, +0.5f, +0.5f, +0.5f, +0.5f, -0.5f, -0.5f, -0.5f, -0.5f, -0.5f, +0.5f, -0.5f, +0.5f, +0.5f, -0.5f, +0.5f, -0.5f, -0.5f,
@ -426,7 +426,7 @@ namespace hgl
* @param numberSlices
* @return
*/
vulkan::Renderable *CreateRenderableSphere(vulkan::RenderResource *db,vulkan::Material *mtl,const uint numberSlices)
Renderable *CreateRenderableSphere(RenderResource *db,Material *mtl,const uint numberSlices)
{
RenderableCreater rc(db,mtl);
@ -502,7 +502,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderableDome(vulkan::RenderResource *db,vulkan::Material *mtl,const DomeCreateInfo *dci)
Renderable *CreateRenderableDome(RenderResource *db,Material *mtl,const DomeCreateInfo *dci)
{
RenderableCreater rc(db,mtl);
@ -621,7 +621,7 @@ namespace hgl
}
}//namespace
vulkan::Renderable *CreateRenderableTorus(vulkan::RenderResource *db,vulkan::Material *mtl,const TorusCreateInfo *tci)
Renderable *CreateRenderableTorus(RenderResource *db,Material *mtl,const TorusCreateInfo *tci)
{
RenderableCreater rc(db,mtl);
@ -777,7 +777,7 @@ namespace hgl
}
}//namespace
vulkan::Renderable *CreateRenderableCylinder(vulkan::RenderResource *db,vulkan::Material *mtl,const CylinderCreateInfo *cci)
Renderable *CreateRenderableCylinder(RenderResource *db,Material *mtl,const CylinderCreateInfo *cci)
{
uint numberIndices = cci->numberSlices * 3 * 2 + cci->numberSlices * 6;
@ -996,7 +996,7 @@ namespace hgl
}
}//namespace
vulkan::Renderable *CreateRenderableCone(vulkan::RenderResource *db,vulkan::Material *mtl,const ConeCreateInfo *cci)
Renderable *CreateRenderableCone(RenderResource *db,Material *mtl,const ConeCreateInfo *cci)
{
RenderableCreater rc(db,mtl);
@ -1123,7 +1123,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderableAxis(vulkan::RenderResource *db,vulkan::Material *mtl,const AxisCreateInfo *aci)
Renderable *CreateRenderableAxis(RenderResource *db,Material *mtl,const AxisCreateInfo *aci)
{
RenderableCreater rc(db,mtl);
@ -1148,7 +1148,7 @@ namespace hgl
return rc.Finish();
}
vulkan::Renderable *CreateRenderableBoundingBox(vulkan::RenderResource *db,vulkan::Material *mtl,const CubeCreateInfo *cci)
Renderable *CreateRenderableBoundingBox(RenderResource *db,Material *mtl,const CubeCreateInfo *cci)
{
// Points of a cube.
/* 4 5 */ const float points[]={ -0.5,-0.5, 0.5, 0.5,-0.5,0.5, 0.5,-0.5,-0.5, -0.5,-0.5,-0.5,

View File

@ -27,7 +27,7 @@ namespace hgl
// return (((Frustum *)fc)->BoxIn(node->GetWorldBoundingBox())!=Frustum::OUTSIDE);
//}
void RenderList::Render(SceneNode *node,vulkan::RenderableInstance *ri)
void RenderList::Render(SceneNode *node,RenderableInstance *ri)
{
if(last_pipeline!=ri->GetPipeline())
{
@ -49,7 +49,7 @@ namespace hgl
{
last_pc=node->GetPushConstant();
cmd_buf->PushConstants(last_pc,sizeof(vulkan::PushConstant));
cmd_buf->PushConstants(last_pc,sizeof(PushConstant));
}
//更新fin_mvp
@ -61,7 +61,7 @@ namespace hgl
last_ri=ri;
}
const vulkan::IndexBuffer *ib=ri->GetIndexBuffer();
const IndexBuffer *ib=ri->GetIndexBuffer();
if(ib)
{
@ -73,10 +73,10 @@ namespace hgl
}
}
void RenderList::Render(SceneNode *node,List<vulkan::RenderableInstance *> &ri_list)
void RenderList::Render(SceneNode *node,List<RenderableInstance *> &ri_list)
{
const int count=ri_list.GetCount();
vulkan::RenderableInstance **ri=ri_list.GetData();
RenderableInstance **ri=ri_list.GetData();
for(int i=0;i<count;i++)
{
@ -85,7 +85,7 @@ namespace hgl
}
}
bool RenderList::Render(vulkan::GPUCmdBuffer *cb)
bool RenderList::Render(GPUCmdBuffer *cb)
{
if(!cb)
return(false);

View File

@ -5,7 +5,7 @@ namespace hgl
{
namespace graph
{
RenderableCreater::RenderableCreater(vulkan::RenderResource *sdb,vulkan::Material *m)
RenderableCreater::RenderableCreater(RenderResource *sdb,Material *m)
{
db =sdb;
mtl =m;
@ -24,7 +24,7 @@ namespace hgl
return(true);
}
VAD *RenderableCreater::CreateVAD(const AnsiString &name,const vulkan::ShaderStage *ss)
VAD *RenderableCreater::CreateVAD(const AnsiString &name,const ShaderStage *ss)
{
if(!ss)return(nullptr);
@ -51,7 +51,7 @@ namespace hgl
if(!vsm)return(nullptr);
if(name.IsEmpty())return(nullptr);
const vulkan::ShaderStage *ss=vsm->GetStageInput(name);
const ShaderStage *ss=vsm->GetStageInput(name);
if(!ss)
return(nullptr);
@ -71,7 +71,7 @@ namespace hgl
if(vab_maps.Get(name,ssb))
return false;
const vulkan::ShaderStage *ss=vsm->GetStageInput(name);
const ShaderStage *ss=vsm->GetStageInput(name);
if(!ss)
return(false);
@ -108,14 +108,14 @@ namespace hgl
return (uint32 *)ibo->Map();
}
vulkan::Renderable *RenderableCreater::Finish()
Renderable *RenderableCreater::Finish()
{
const uint si_count=vsm->GetStageInputCount();
if(vab_maps.GetCount()!=si_count)
return(nullptr);
vulkan::Renderable *render_obj=db->CreateRenderable(vertices_number);
Renderable *render_obj=db->CreateRenderable(vertices_number);
const auto *sp=vab_maps.GetDataList();
for(uint i=0;i<si_count;i++)

View File

@ -9,7 +9,7 @@ namespace hgl
if(!type||!type->Check())
return(nullptr);
VkFormat fmt=vulkan::GetVulkanFormat(type);
VkFormat fmt=GetVulkanFormat(type);
return(new VertexAttribData(vertex_count,type->vec_size,type->GetStride(),fmt));
}

View File

@ -6,7 +6,7 @@ namespace hgl
{
namespace graph
{
TextRenderable::TextRenderable(vulkan::GPUDevice *dev,vulkan::Material *m,uint mc):vulkan::Renderable(mc)
TextRenderable::TextRenderable(GPUDevice *dev,Material *m,uint mc):Renderable(mc)
{
device=dev;
mtl=m;